数据库模型不能存储微信发来的数据

浏览:683 发布日期:2015/03/17 分类:求助交流 关键字: 微信 数据库
微信用户发图片的时候,微信会POST一段xml数据过来,可是数据库模型方式不能存储picurl和mediaid,其它字段可以存储。改成原生的PHP方式却可以存储所有的数据。
pciurl示例:
http://mmbiz.qpic.cn/mmbiz/9VCX0m787h59qVXf5bWrNrkvI1szE8lvFc6LARn0BPziasZPFqX8I56iaw0X0urFwVkMMlPwYffQss83Xg4KpTrQ/0
mediaid示例:
9Ovv1KUVNSws3yPkrQUGTIzT_ga32nCa9-bqIhYmnhfXjyP-MYC0RsfhodOCF-nM
请大家看看是怎么回事。
另外,希望thinkphp能在话题中增加邮箱功能。有人回答问题的时候,能发个邮件到邮箱。
原来的代码:    function saveImageMessage($postObj){
        $postObjArray = array(
            'ToUserName'    =>  trim($postObj->ToUserName),
            'FromUserName'  =>  trim($postObj->FromUserName),
            'CreateTime'    =>  trim($postObj->CreateTime),
            'MsgType'       =>  trim($postObj->MsgType),
            'PicUrl'       =>  trim($postObj->PicUrl),
            'MediaId'       =>  trim($postObj->MediaId),
            'MsgId'         =>  trim($postObj->MsgId)
        );
        if(!empty($postObjArray['PicUrl']))
        {
            //将数据存储到数据库
            $data = array(
                'to_username'       =>  $postObjArray['ToUserName'],
                'from_username'     =>  $postObjArray['FromUserName'],
                'create_time'       =>  $postObjArray['CreateTime'],
                'msg_type'          =>  $postObjArray['MsgType'],
                'pic_url'           =>  $postObjArray['PicUrl'],
                'media_id'          =>  $postObjArray['MediaId'],
                'msg_id'            =>  $postObjArray['MsgId']
            );
            $Model = M('weixin_user_message');
            $Model->add($data);
        }
    }
原生PHP方式(这种方式可以存储):    function saveImageMessage($postObj){
        $postObjArray = array(
            'ToUserName'    =>  trim($postObj->ToUserName),
            'FromUserName'  =>  trim($postObj->FromUserName),
            'CreateTime'    =>  trim($postObj->CreateTime),
            'MsgType'       =>  trim($postObj->MsgType),
            'PicUrl'       =>  trim($postObj->PicUrl),
            'MediaId'       =>  trim($postObj->MediaId),
            'MsgId'         =>  trim($postObj->MsgId)
        );
        if(!empty($postObjArray['PicUrl']))
        {
            //将数据存储到数据库
            $conn = mysql_connect(C('DB_HOST'), C("DB_USER"), C("DB_PWD"));
            mysql_select_db(C("DB_NAME"), $conn);
            $sql = "insert into weixin_user_message(to_username, from_username, create_time, msg_type, pic_url, media_id, msg_id) values('".$postObjArray['ToUserName']."','".$postObjArray['FromUserName']."','".$postObjArray['CreateTime']."','".$postObjArray['MsgType']."','".$postObjArray['PicUrl']."','".$postObjArray['MediaId']."','".$postObjArray['MsgId']."')";
            mysql_query($sql, $conn);
        }
    }
最佳答案
评论( 相关
后面还有条评论,点击查看>>