php - 将Mysql数据库转换成Json

标签 php mysql

我有一个mysql数据库,我想把它改成json格式,结果如下图

["aaa","bbb","ccc"]

但是当我使用 PHP 编写如下代码时

<?php
require_once("../con.php");

$list = mysqli_query($con,"SELECT * FROM user WHERE reff='admin'");
$r = array();
while($data = mysqli_fetch_array($list)) {
    $r[] = array($data['username']);
}
echo json_encode($r, JSON_PRETTY_PRINT);
?>

结果和我想要的不一样,如下结果

[ [ "aaa" ], [ "bbb" ], [ "ccc" ] ]

有什么解决办法吗?

最佳答案

最好的方法是 $r[] = $data['username']; 而不是 $r[] = array($data['username']); 因为这一行 $r[] = array($data['username']); 你试图将用户名作为 array 而不是用户名string 每次在您的 $r 上的值,这就是为什么它会在您的用户名值周围创建额外的括号 []

但是如果您不想更改现有代码,那么您可以使用它来通过这行额外的代码 $r = array_merge(...$r) 获得预期的结果,这里 ... 被称为 splat 运算符

关于php - 将Mysql数据库转换成Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57618781/

相关文章:

javascript - 使用 javascript 验证密码

php - 当我在 php 中使用连接表时,mysql_fetch_array 不显示结果

mysql - 仅在大型 sql 文件中运行特定表

MySQL 使用子查询选择

mysql - Laravel SQLSTATE[23000] : Integrity constraint violation: 1451 Cannot delete or update a parent row

php - parse_str 随机向键添加分号

PHP 错误 T_object_operator

php - mpdf隐藏元素

php - 仅在 mysql 数据库中插入一次。

python - 无法将多个列表插入到 Python 中的单个 MySQL 查询中