Php JSON编码缺少MySQL中的第一行
我试图将表中的所有行编码为JSON,但它似乎错过了第一行Php JSON编码缺少MySQL中的第一行,php,mysql,json,fetch,Php,Mysql,Json,Fetch,我试图将表中的所有行编码为JSON,但它似乎错过了第一行 $sql = "SELECT * FROM NewsStream"; $result = $conn->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()) { echo "echo: " . $row["id"]. " " . $row["title"]. " " . $row["
$sql = "SELECT * FROM NewsStream";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "echo: " . $row["id"]. " " . $row["title"]. " " . $row["content"]. "<br />";
echo "JSON: " . json_encode($row). "<br />";
}
}
为什么第一个“JSON:”在回显结果正确时丢失了?试试这个
$return_arr = array();
$fetch = mysql_query("SELECT * FROM NewsStream");
while ($row = mysql_fetch_assoc($fetch)) {
$data=array();
foreach ($row as $key => $value) {
$data[$key]=$value;
}
$return_arr[] = $data;
}
echo json_encode($return_arr);
试试这个:
$sql = "SELECT * FROM NewsStream";
$rows = array();
while($r = mysqli_fetch_assoc($sql)) {
$rows[] = $r;
}
print json_encode($rows)
$return_arr=array()$fetch=mysql_query(“从新闻流中选择*);回声“;而($row=mysql\u fetch\u assoc($fetch)){$data=array();foreach($row as$key=>$value){$data[$key]=$value;}$return\u arr[]=$data;}echo json\u encode($return\u arr)<代码>数据\u供应商不是OP的表名您是否尝试过在PHP中显示错误?另外,使用
print\r($row)
代替第一个echo
json\u last\u error()
由于json\u encode未能对结果数组进行编码,因此您将获得空白结果。检查列字段值中是否有单引号/双引号。您可以先尝试选择几个列,例如“从新闻流中选择字段1、字段2”,然后检查是否获得编码数据
$sql = "SELECT * FROM NewsStream";
$rows = array();
while($r = mysqli_fetch_assoc($sql)) {
$rows[] = $r;
}
print json_encode($rows)