查询执行和检索
从 MySQL 数据库检索数据并将其存储在PHP 变量,您可以使用mysqli_query():
$sth = mysqli_query($conn, "SELECT ...");
结果的 JSON 编码
要将查询结果编码为 JSON 格式,可以使用 json_encode() 函数。但是,您需要迭代结果并单独对每一行进行编码:
$rows = array(); while($r = mysqli_fetch_assoc($sth)) { $rows[] = $r; } print json_encode($rows);
JSON 编码的要求
请注意,json_encode() 需要 PHP 版本 5.2 或更高版本和“php-json”包。如果未安装,PHP 将尝试自动包含它。
使用 mysqli_fetch_all() 的替代方法
在现代 PHP 版本中,您可以使用 mysqli_fetch_all() 函数检索数组中的所有查询结果一次:
$result = mysqli_query($conn, "SELECT ..."); $rows = mysqli_fetch_all($result); // list arrays with values only in rows // or $rows = mysqli_fetch_all($result, MYSQLI_ASSOC); // assoc arrays in rows print json_encode($rows);
使用 mysqli_fetch_all() 进行 JSON 编码
mysqli_fetch_all() 函数可以通过为您创建行数组来简化 JSON 编码过程。只需将 results 变量传递给 json_encode(),它就会自动将数据转换为 JSON 格式。
以上是如何在 PHP 中高效地将 MySQL 查询结果编码为 JSON?的详细内容。更多信息请关注PHP中文网其他相关文章!