我想通过 json 将包含 PHPH 文件的数据库记录发送到我使用 IntelXDK 制作的应用程序。因为我无法将 PHP 代码与英特尔 XDK 一起使用,所以我需要使用 JSON。我想在屏幕上显示“引用”表中的两条记录“引用”和“作者”。有人帮助我编写了这段代码,但它只是返回 [null,null] 而不是我需要的两条记录。我尝试过调试,但我对 PHP 很陌生,所以我无法让它工作。任何可以帮助或看到的人这段代码有错误吗?谢谢!
PS:是的,我现在已经有其他人就这个主题提出了多个问题。我已经阅读了所有内容,但没有一个能解决我的问题..
<?php
if(isset($_GET["get_rows"]))
{
//checks the format client wants
if($_GET["get_rows"] == "json")
{
$link = mysqli_connect("localhost", "xxxxx", "xxxxx", "xxxx");
/* check connection */
if (mysqli_connect_errno()) {
echo mysqli_connect_error();
header("HTTP/1.0 500 Internal Server Error");
exit();
}
$query = "SELECT quote, author FROM quotes WHERE id = " . date('d');
$jsonData = array();
if ($result = mysqli_query($link, $query)) {
/* fetch associative array */
$row = $result->fetch_assoc($result);
// Create a new array and assign the column values to it
// You can either turn an associative array or basic array
$ret= array();
$ret[] = $row['quote'];
$ret[] = $row['author'];
//encode to JSON format
echo json_encode($ret);
}
else {
echo json_encode($ret);
}
/* close connection */
mysqli_close($link);
}
else
{
header("HTTP/1.0 404 Not Found");
}
}
else
{
header("HTTP/1.0 404 Not Found");
}
?>
最佳答案
您在 fetch_assoc()
函数调用中存在错误 - 删除 $result
参数。如果您启用了错误报告,您应该会看到:
Warning: mysqli_result::fetch_assoc() expects exactly 0 parameters, 1 given
只需将其更改为:
$row = $result->fetch_assoc();
在 JavaScript 中解析此响应,只需执行以下操作:
var obj = JSON.parse(xmlhttp.responseText);
document.getElementById("quote").innerHTML = obj[0];
document.getElementById("author").innerHTML = obj[1];
关于php - JSON 在我的应用程序中返回 [null,null],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30544074/