php不允许我回显JSON字符串
通过一个AJAX调用,我想从DB中提取一些数据并发送回客户端。php不允许我回显JSON字符串,php,Php,通过一个AJAX调用,我想从DB中提取一些数据并发送回客户端。 $result是选择查询的返回值 案例1:这很好用 $str = "["; while($row = mysqli_fetch_assoc($result)) { $str = $str ."{". '"Name":'. '"'. $row["Name"] . '"' . "},"; }
$result
是选择查询的返回值
案例1:这很好用
$str = "[";
while($row = mysqli_fetch_assoc($result)) {
$str = $str ."{".
'"Name":'. '"'. $row["Name"] . '"'
. "},";
}
}
$str = $str . "]";
echo str;
案例2:这也很好:
$str = "[";
while($row = mysqli_fetch_assoc($result)) {
$str = $str ."{".
'"ID":'. '"'. $row["ID"] //SEE HERE
. "},";
}
} else {
echo "0 results";
}
$str = $str . "]";
echo $str;
案例3:但下面给出了500()的错误
$str = "[";
while($row = mysqli_fetch_assoc($result)) {
$str = $str ."{".
'"ID":'. '"'. $row["ID"] . '",' //SEE HERE
'"Name":'. '"'. $row["Name"] . '"'
. "},";
}
} else {
echo "0 results";
}
$str = $str . "]";
echo $str;
我想在以JSON格式生成echo str后发送它,并在客户端使用`JSON.parse()解析它。当我只有一个键值对时,案例1和案例2可以正常工作。但只要我放入两个键值对,我就会得到错误:
POST https://******************.php 500 ()
它返回500,因为脚本中有错误。您可以添加以下代码并检查错误的位置
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
可能你的代码中缺少点。选中此项:
$str = $str . "{" .
'"ID":' . '"' . $row["ID"] . '",' .
'"Name":' . '"' . $row["Name"] . '"'
. "},";
它返回500,因为脚本中有错误。您可以添加以下代码并检查错误的位置
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
可能你的代码中缺少点。选中此项:
$str = $str . "{" .
'"ID":' . '"' . $row["ID"] . '",' .
'"Name":' . '"' . $row["Name"] . '"'
. "},";
您确实需要使用适当的函数
养成良好的编程习惯
$rtn = []; //create array
while($row = mysqli_fetch_assoc($result)){
//push result into array
$rtn[] = ['ID'=> $row["ID"], 'Name'=> $row['Name']];
}
if($rtn)//if array has entries
echo json_encode($rtn);//encodes result to json
else
echo "0 results";
您确实需要使用适当的函数
养成良好的编程习惯
$rtn = []; //create array
while($row = mysqli_fetch_assoc($result)){
//push result into array
$rtn[] = ['ID'=> $row["ID"], 'Name'=> $row['Name']];
}
if($rtn)//if array has entries
echo json_encode($rtn);//encodes result to json
else
echo "0 results";
这不是我最好的方法friend@HBensiali我知道。你能告诉我另一种方式,这样我就可以在客户端接收JS对象数组了吗?这不是我最好的方式friend@HBensiali我知道。你们能告诉我另一种方式,这样我就可以在客户端接收JS对象数组了吗?