Home >Backend Development >PHP Tutorial >WeChat develops PHP database query, replies to information, but cannot obtain data? Or is the format wrong?
The process is like this
Parse the xml sent by WeChat and obtain the content sent by the user
Reply based on the content
Read the database content, return it as a string, and reply to the message
But it seems that there is a problem in the database operation and I can’t reply. Others case '1'
etc. are fine.
I tried to add echo 'success'
test in each step of the method getSql()
. It will not return to the place I commented below. Can you guys tell me what's going on?
How to check whether
mysqli
is supported? I am CentOS 6.7 php 5.6phpinfo()
The content displayed about mysqli is as follows:
I know that there is an extension in PHP on Windows, which can be turned on. What is the PHP configuration in Linux like?
<code class="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; //返回字符串 }</code>