微信开发 php 数据库查询,回复信息,无法取得数据?还是格式有误?
过程是这样的
解析微信发来的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 = '%s ';
$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; //返回字符串
}
回复内容:
过程是这样的
解析微信发来的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 = '%s ';
$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; //返回字符串
}
数据库这部分每一行都没错,放到一起就错了。
前面是连接是面向过程的方法mysqli_connect
后面查询和取值是面向对象的方法
mysqli_connect
换成new mysqli
吧
试着用mysql_connect(),mysql_select_db()和mysql_query()处理
上一篇: 如何去除dedeCMS后台登陆页面的广告_PHP教程
下一篇: php中smarty有关问题