【问题标题】:PHP - MySQL results to JSONPHP - MySQL 结果到 JSON
【发布时间】:2014-06-05 17:49:49
【问题描述】:

我正在尝试了解如何将 MySQL 结果转换为 JSON 格式,以便以后可以将此 JSON 与 Javascript 一起使用来构建 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 结果中。

我做错了什么? 谢谢

【问题讨论】:

  • 不确定您是否知道,在使用“json_decode”时,使用第二个参数“true”将强制转换为数组而不是对象。即 $fooArray = json_decode($json, true);。它可能会节省一些麻烦。

标签: php mysql json


【解决方案1】:
$result = mysqli_query($con, "SELECT * FROM Customers");   
while($row = mysqli_fetch_assoc($result))
    $test[] = $row; 
print json_encode($test);

【讨论】:

  • 谢谢,这行得通。它显示了数据库中的第一个客户,有什么方法可以循环显示所有客户吗?
  • 完成。立即尝试使用。
  • 对于我的设置,我的做法有所不同,这可能会帮助其他人$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>";
猜你喜欢
  • 2019-03-13
  • 2018-06-16
  • 2017-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 2011-04-03
相关资源
最近更新 更多