我正在尝试将我的 MYSQL 表数据转换为 JSON。我正在尝试使用 json_encode()。但它不起作用。它不返回任何东西。我检查了控制台,甚至没有抛出任何错误。我错过了什么?
<?php
//open connection to mysql db
$connection = mysqli_connect("localhost","root","","maps") or die("Error " . mysqli_error($connection));
//fetch table rows from mysql db
$sql = "select * from locations";
$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));
//create an array
$emparray[] = array();
while($row =mysqli_fetch_assoc($result))
{
$emparray[] = $row;
}
echo json_encode($emparray);
//close the db connection
mysqli_close($connection);
?>
最佳答案
我知道这是旧的,但我没有找到这个错误的解释,在我的例子中,问题是用重音标记 (Ej: cafetería) 保留数据库上的值。 var_dump($emparray) 肯定会显示信息,但 echo json_ecode($emparray) 什么也不显示。解决方案?
这是我的数据库连接:
$connection = mysqli_connect('ip,'user','pass','dbname')
或者 die("Error". mysqli_error($connection));
只需要添加正确的字符集:
mysqli_set_charset( $connection, 'utf8');
希望这项工作对其他人有用。
关于php - json_encode 不返回任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32672720/