过程是这样的
解析微信发来的xml,获取用户发送的内容
根据内容,进行判断回复
读取数据库内容,作为字符串返回,回复信息
但是好像在数据库操作中出现了问题,怎么都回复不了。其它 case '1' 等等都没问题。
我试图在方法getSql() 中在每一步中添加 echo '成功' 测试,到下面我注释的地方就不再返回,大神们看看怎么回事?
怎么查看支不支持
mysqli呢?我是CentOS 6.7 php 5.6phpinfo()显示的关于mysqli 的内容如下:
我知道windows上的php里面有个extension 开启就可以了,linux 里面的php配置是什么样的呢?


/*
-------------------------------------
判断信息事件,根据用户发来的信息内容,判断回复
$arr: 解析后的 微信发来的数据
--------------------------------------
*/
    public function rspText($arr){
        switch (trim(strtolower($arr->Content))){
            case '1':{
                $this->replyMsg($arr,"success");
            };break;
            case '2':{
                $this->replyMsg($arr,$this->getSql());
            };break;
            case 'time':{
                $this->replyMsg($arr,date("Y-m-d")."\n".date("H:i:s"));
            };break;
            default: $this->replyMsg($arr,"看海哟");
        }
    }
/*
-----------------------------------
回复信息
$arr : 微信发来的 post 数据解析后的对象
$content: 要回复的内容,字符串
-----------------------------------
*/
    public function replyMsg($arr,$content="")
    {
        $toUser = $arr->ToUserName;
        $fromUser = $arr->FromUserName;
        $time = time();
        $msgType = 'text';
        $rspPatten = '<xml>
                    <ToUserName><![CDATA[%s]]></ToUserName>
                    <FromUserName><![CDATA[%s]]></FromUserName>
                    <CreateTime>%s</CreateTime>
                    <MsgType><![CDATA[%s]]></MsgType>
                    <Content><![CDATA[%s]]></Content>
                    </xml>';
        $rspMsg = sprintf($rspPatten, $fromUser, $toUser, $time, $msgType, $content);
        echo $rspMsg;
    }
//读取数据库内容
    public function getSql(){
        $host= "111.111.111.111";
        $port = '1111';
        $database = "wordpress";
        $table = "wp_posts";
        $user = "1111";
        $passwd = "1111";
        $sql = "select post_title from ".$table." limit 1,10";
        //!!!!!!!!!到此处还是可以返回的,下面这句就不再返回了!!!!!!!
        
        
        $link = mysqli_connect($host,$user,$passwd,$database,$port);
        $tempResult = $link->query($sql);
        $str = "";
        while($row = $tempResult->fetch_array()){
            $str = $str.$row['post_title'];
        }
        $link->close();
        return $str; //返回字符串
    }Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
数据库这部分每一行都没错,放到一起就错了。
前面是连接是面向过程的方法
mysqli_connect后面查询和取值是面向对象的方法
mysqli_connect换成new mysqli吧试着用mysql_connect(),mysql_select_db()和mysql_query()处理