php - json_encode 不返回任何东西

标签 php mysql json

我正在尝试将我的 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/

相关文章:

php - 如何使用 codeigniter 3 中的 dbforge 类在时间戳字段中设置更新属性

mysql:两个表但三个选择条件

mysql - 找出 MySql 中基于逗号的值的计数

MySQL从连接表中选择最大日期

php - 用于在注册客户/访客和公司代理之间发送消息的数据库结构

php - 在函数 PHP 中实例化类是不好的做法吗

php - Wordpress/Godaddy : How can I tell if this . htaccess 中有恶意软件? wp-currentver.php

json - 使用JMESPath,如何过滤至少定义了一个标签的Consul服务?

Java String.valueOf 返回空字符串

php - 从 MYSQL 中获取数据并显示在 JSON 文件中