将PHP - MySQL结果转换为JSON

6

我正在尝试理解如何将MySQL结果转换为JSON格式,以便稍后在Javascript中使用此JSON生成HTML表格。但是,我的代码只会产生很多空值,我还不理解原因。

$result = mysqli_query($con, "SELECT * FROM Customers");

$test = json_encode($result);

print $test;

输出:

{"current_field":null,"field_count":null,"lengths":null,"num_rows":null,"type":null}

我举例来说,比如我的字段有"CustomerID"和"Name",但它们甚至没有出现在JSON结果中。
我做错了什么吗? 谢谢。

可能是重复问题 - https://dev59.com/nGzXa4cB1Zd3GeqPRj9n - Jay Blanchard
不确定您是否知道,使用“json_decode”时,使用第二个参数“true”将强制转换为数组而不是对象。即$fooArray = json_decode($json, true);。这可能会节省一些麻烦。 - Ryan Vincent
1个回答

19
$result = mysqli_query($con, "SELECT * FROM Customers");   
while($row = mysqli_fetch_assoc($result))
    $test[] = $row; 
print json_encode($test);

谢谢,它有效。它显示了数据库中的第一个客户,有没有办法循环遍历以显示所有客户? - user9993
1
完成。现在尝试使用。 - Alexey Palamar
对于我的设置,我是以不同的方式进行的,这可能会帮助到其他人。 $link = mysqli_connect("localhost", "root", "password", "db"); $results = $link->query($sql); while ($row = $results->fetch_assoc()) $resultArray[] = $row; echo "<pre>" . json_encode($resultArray, JSON_PRETTY_PRINT) . "</pre>"; - CrandellWS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接