gpt4 book ai didi

php - JSON 中位置 43 的意外标记

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:46 24 4
gpt4 key购买 nike

我正在尝试从运行 MySQL 的 PHP 服务器获取数据。在我的 Angular Controller 中,我执行 $http.get("dbconnection.php")

在我的 dbconnection.php 中,我有这段代码,它只从数据库中选择所有内容并将其发回。

$conn = new mysqli......

$result = $conn->query("SELECT * FROM ...");

$outp = "";

while ($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "") {
$outp .= ",";
}
$outp .= '{"id":"' . $rs["id"] . '",';
$outp .= '"name":"' . $rs["name"] . '",';
$outp .= '"price":"' . $rs["price"] . '"}';
$outp .= '"created":"' . $rs["created"] . '"}';
$outp .= '"img":"' . $rs["img"] . '"}';
}
$outp = '{"records":[' . $outp . ']}';
$conn->close();

echo $outp;

当我访问我的站点时,请查看下的数据

网络选项卡 > XHR > dbconnection.php > 预览

我看到了数据,但它的格式很奇怪。

See picture of weird formatted json

我想这就是我得到的原因

JSON 中位置 43 的意外标记 错误当我尝试获取数据时。

最佳答案

要获得格式良好的 JSON 输出,请使用 json_encode 函数。

在你的情况下:

$conn = new mysqli......

$result = $conn->query("SELECT * FROM ...");
$json = ["records" => []];

while ($rs = $result->fetch_array(MYSQLI_ASSOC)) {
$json["records"][] = $rs;
}
$conn->close();

echo json_encode($json);

关于php - JSON 中位置 43 的意外标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42541375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com