我编写了这个php脚本,它允许我获取MySQL数据库中表中的所有行
我已经放了echo "1"
等等,看它是否到达最后的代码。输出证明了它。但是,当回显json_encode($resultsArray)
时,它不输出任何内容,我似乎无法弄清楚原因。
代码:
// Create connection
$connection = mysqli_connect("localhost", "xxx", "xxx");
// Check connection
if (!$connection) { die("Connection failed: " . mysqli_connect_error()); } else { echo "0"; }
// select database
if (!mysqli_select_db($connection, "myDB")) { die('Unable to connect to database. '. mysqli_connect_error()); } else { echo "1"; }
$sql = "select * from myTable";
$result = mysqli_query($connection, $sql) or die(mysqli_error($connection));;
echo "3";
$resultsArray = array();
while($row = mysqli_fetch_assoc($result)) {
// convert to array
$resultsArray[] = $row;
}
echo "4";
// return array w/ contents
echo json_encode($resultsArray);
echo "5";
输出:
01345
我想,这不是关于json_encode
,因为我也可以尝试回应某事。像while循环中的$result['id']
一样,它不会做任何事情。
为了测试,我使用终端进入数据库。我可以毫无问题地select * from myTable
。
有什么想法吗?
答案 0 :(得分:1)
经过大约20小时的调试,我发现了问题。
正如我在我的问题中所述,代码过去在发布此问题之前工作了几个小时然后突然停止工作。 @MichaelBerkowski确认代码是有效的
我记得在某些时候,我改变了我的列,使其默认值为空字符串 - 我将它们声明如下:NOT NULL DEFAULT ''
。
我现在发现复制表并省略json_encode()
部分会使Project
再次工作,所以显然存在问题。
感谢所有人的尝试!