我从MySQL获得了一个包含值的数组,我正在尝试json_encode()它。 虽然没有输出,但没有。只是一个白色的屏幕,没有错误,没有。有任何想法吗? 数组$ rows完全用值填充。
if (!$connection = mysqli_connect($db_host, $db_user, $db_pw, $db))
die( "Connection not successful.\n" );
$sql_qry = "SELECT * FROM `table`;";
if (!$result = mysqli_query($connection, $sql_qry))
echo "Wasn't able to send query: ".mysqli_error($connection)."\n";
while ($rows[] = mysqli_fetch_assoc($result));
mysqli_close($connection);
echo json_encode($rows);
答案 0 :(得分:-1)
您的while
赋值实际上并未迭代结果集,并将SQL查询中的现有行分配给此变量。如果希望在while语句范围之外访问返回结果集的全部内容,则需要遍历结果集并将每行分配给在while语句执行之前定义的数组:
$rows = array();
while ($ret = mysqli_fetch_assoc($result)):
$rows[] = $ret;
endwhile;
mysqli_close($connection);
echo json_encode($rows);