当前位置:Gxlcms > PHP教程 > PHP对了,可是对接到微信只回来array

PHP对了,可是对接到微信只回来array

时间:2021-07-01 10:21:17 帮助过:26人阅读

PHP对了,可是对接到微信只返回array
$result = mysql_query($sql, $link); // 执行查询语句

$res=array();
while($row = mysql_fetch_array($result)){
if(条件){
$res[] = $row["title"].$row["answer"];
}
}
return $res;
?>
用这个之后PHP是对,可是接到微信就变成单独的回复一个array
------解决思路----------------------
把数据连接成串,或编码成 json
------解决思路----------------------
return json_encode($res);
------解决思路----------------------
在echo json_encode之前,加上:header('Content-type:application/json;charset=utf-8');
------解决思路----------------------
引用:
Quote: 引用:

在echo json_encode之前,加上:header('Content-type:application/json;charset=utf-8');

$sql = "select * FROM `record` WHERE title like '%$keyword%'";
$result = mysql_query($sql, $link); // 执行查询语句


$res=array();

while($row = mysql_fetch_array($result))
{



$res[]=$row["title"];


}
header('Content-type:application/json;charset=utf-8');
return json_encode($res);
mysql_close($link);
} 这次返回的值是[]

返回值为空?那么直接return "hello world";是什么结果?
------解决思路----------------------
引用:
Quote: 引用:

在echo json_encode之前,加上:header('Content-type:application/json;charset=utf-8');

会不会是这个有错误?


%s


0


你把0去掉试试。
另外:要返回信息,不应该用return,而是echo
    public function responseMsg(){

//get post data, May be due to the different environments
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //接收微信发来的XML数据

//extract post data
if(!empty($postStr)){

//解析post来的XML为一个对象$postObj
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

$fromUsername = $postObj->FromUserName; //请求消息的用户
$toUsername = $postObj->ToUserName; //"我"的公众号id
$keyword = trim($postObj->Content); //用户发送的消息内容
$time = time(); //时间戳
$msgtype = 'text'; //消息类型:文本
$textTpl = "


%s


";
$contentStr = "输入-h查看帮助吧(=?ω?=)";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr);
echo $resultStr;

人气教程排行