我想运行一个PHP脚本,使用mysqli库,但它没有取得webhosting服务器上的结果,而在我的机器运行WLAMP PHP 5.14它运作良好。mysqli查询获取没有记录
你可以告诉我,如果问题是与mysqli有关,如果有办法让它为我的案件工作?
我希望做的工作看起来像这样的台词:
$sql = "call sp_give_me_data(null,null,null);";
if (!$mysqli->query($sql)) {
die('Invalid query: ' . mysql_error());
} else {
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$datainfo[] = $row;
}
$output = json_encode($datainfo);
echo utf8_encode($output);
} else {
echo "0";
}
}
正如我所说的它提取到支持PHP 5.3-5.5托管“0”的记录,并获取正确的记录数量上我的机器。与远程数据库的连接(在两种情况下都是相同的)似乎也很成功。
感谢您的洞察力。
更新
我所以现在改变了我的代码,我将查询发送只有一次:
mysqli_set_charset($mysqli,"utf8"); //utf-8 accents query
$result = $mysqli->query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
} else {
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$datainfo[] = $row;
}
//utf-8 accents unescaping to be shown correctly
$output = json_encode($datainfo,JSON_UNESCAPED_UNICODE);
echo $output;
} else {
echo "0";
}
}
这就是现在的工作。谢谢!
你为什么将查询发送两次? – VolkerK
此外,如果出现问题,您正在使用'mysql_error()';你应该使用'$ mysqli-> error'代替,我认为 – andrewsi
@VolkerK,你给了我一个线索,为什么它不工作我改变了我的代码,如编辑,现在工作。如果你能告诉我为什么在PHP 5.3-5.5原来的查询不能正常工作,那会很好吗? 把你的评论作为答案,我会给你正确的答案选择。谢谢。 – CoderRoller