gpt4 book ai didi

php - 从表中选择 * 不返回任何内容

转载 作者:行者123 更新时间:2023-11-30 21:22:03 24 4
gpt4 key购买 nike

我编写了这个 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

有什么想法吗?

最佳答案

经过大约 20 小时的调试,我发现了问题。

正如我在问题中所述,代码在发布此问题之前可以工作几个小时,然后突然停止工作。 @MichaelBerkowski 确认代码可以正常工作。
我记得在某个时候,我将我的列更改为具有空字符串的默认值 - 我将它们声明如下:columnName VARCHAR(50) NOT NULL DEFAULT ''
我现在发现复制表格并省略 NOT NULL DEFAULT '' 部分会使 json_encode() 再次工作,所以显然这有问题。

感谢大家的尝试!

关于php - 从表中选择 * 不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46869308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com