json_encode() 是 PHP 中一个方便的函数,可将数据转换为 JSON 格式。对于 MySQL 查询结果,有多种方法可以使用此函数。
是否需要手动迭代每一行,或者可以对整个结果对象应用 json_encode() 吗?
使用迭代
对于较旧的 PHP 版本,最直接的方法是使用 while 迭代结果集中的每一行 环形。下面是一个示例:
<?php $sth = mysqli_query($conn, "SELECT ..."); $rows = array(); while ($r = mysqli_fetch_assoc($sth)) { $rows[] = $r; } print json_encode($rows); ?>
请注意,json_encode() 需要关联数组(键值对),因此 mysqli_fetch_assoc() 将行作为关联数组获取。
使用 mysqli_fetch_all () (现代的方法)
现代 PHP 版本有一个内置的 mysqli_fetch_all() 函数,允许您一次性获取所有行。这简化了编码过程:
<?php $result = mysqli_query($conn, "SELECT ..."); $rows = mysqli_fetch_all($result); // list arrays with values only in rows // Or, for associative arrays: $rows = mysqli_fetch_all($result, MYSQLI_ASSOC); print json_encode($rows); ?>
附加说明
以上是如何使用 json_encode() 在 PHP 中有效地将 MySQL 查询结果编码为 JSON?的详细内容。更多信息请关注PHP中文网其他相关文章!