mysql php返回json时只有当一行没什么的时候很多

时间:2018-04-28 13:33:13

标签: php mysql

我正在PHP 7.2.4中的在线服务器上编写PHP代码。我想在这台服务器上获取数据库的数据。

但是当我只有一行sql查询返回时:json没问题 最少两行和php什么都不返回(代码200但空响应)

这是我的代码:

<?php
  require_once "connexion.php";

  $sql = "select id,title,image from em0hb_yendifvideoshare_videos limit 1";
  $res = $conn->query($sql);
  $conn->close();
  $i=0;
  while($i < $res->num_rows){
    $res->data_seek($i);
    $row = $res->fetch_row();
    $videos [] = [
        "id" => $row[0],
        "title" => $row[1],
        "image" => $row[2]
    ];
    $i++;
  }
  echo(json_encode($videos));
?>

2 个答案:

答案 0 :(得分:0)

你不必寻求等等......迭代结果更简单:

fetch_assoc()函数自动移动指针。

while( $row = $res->fetch_assoc() ) {
    $videos[] = $row;
}

编辑: 我猜您真正的问题是$conn->close();部分,因为您在获取结果之前关闭了连接。

答案 1 :(得分:0)

已解决:我必须在json_encode数据之前对db中的字符串使用utf8_encode