当前位置: 首页 > 知识库问答 >
问题:

php json_encode返回数组为空

韦鸣
2023-03-14

我试图将mysql查询的结果作为json返回,但是json_encode函数总是返回空白,尽管数组包含元素。

检索查询并转换为php数组:

$sql = "blablabla";
$clients = mysql_query($sql, $con);

$result = array();
while($row = mysql_fetch_assoc($clients)) {
    //echo "rij: " . $row['name'];
    $result[] = $row;
}

然后返回结果:

echo json_encode($result);

这不返回任何内容,而我在回显以下语句时确实得到了结果:

echo count($return);
echo $return[0];

返回“数组”

echo $return[0]['name'];

返回“Youreka!demo”

你知道我做错了什么吗?

ID:2,名字:尤瑞卡!演示,地址:Italiëlei 26,邮政编码:2000,城市:Antwerpen,国家:België,国家代码:BE,电话:+32-476061346,电子邮件:mats@youreka.BE,距离:30.762980999827132,

共有1个答案

谯嘉胜
2023-03-14

关于json_encode()的文档声明“所有字符串数据必须使用UTF-8编码”。您尝试使用mysql_set_charset是正确的想法。

使用这种调试:

<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "test");

printf("Initial character set: %s\n", $mysqli->character_set_name());

/* change character set to utf8 */
if (!$mysqli->set_charset("utf8")) {
    printf("Error loading character set utf8: %s\n", $mysqli->error);
    exit();
} else {
    printf("Current character set: %s\n", $mysqli->character_set_name());
}

$mysqli->close();
?>
 类似资料:
  • 我有以下练习: 编写一个名为createListOfObjects的函数,该函数接受 包含名字和姓氏以及返回值的字符串数组 一个对象数组,每个对象都具有属性 和以及名字和姓氏值 对应值* var namesList=['Cameron Betts','Shana Lopez','Angela li']* createListOfObjects(名称列表) = 到目前为止,我的解决方案是: 但它返回

  • 我有一个Spring Boot应用程序连接到本地mongoDB数据库。当我试图从集合中获取所有记录时,它返回一个空数组。在输出中,它表示已连接到端口27017。它在运行应用程序时不会给我任何错误,但在我键入时只返回一个空数组http://localhost:8080/courses/我错过了什么? 模范班 控制器类 存储库类 MongoDb输出

  • 问题内容: 我有两个模型,用户模型和时间表,我想用$ lookup 和猫鼬把这两个模型结合起来。 用户(型号) 时间表(型号) 现在我的查询使用猫鼬: 用户汇总 我的查询结果是一个空的array(),如下所示: 查询结果: 我不知道为什么,但是查询结果是一个 空数组 ,我试图使用$ unwind和$ match,但也无法正常工作。 编辑: 用户集合 时间表的收集 问题答案: 猫鼬在创建时将集合名称

  • 问题内容: 我想让PostgreSQL将查询结果作为一个JSON数组返回。给定 我想要类似的东西 要么 (实际上,同时了解两者会更有用)。我尝试过一些类似的事情 而且我觉得我很亲近,但真的不在那儿。我是否应该查看9.15以外的其他文档。JSON函数和运算符? 顺便说一下,我不确定我的想法。这是通常的设计决定吗?我的想法是,我当然可以接受上述3个查询中的第一个查询的结果(例如),并在将其提供给客户端

  • 问题内容: 我绝对不知道为什么这段代码不会返回数组…我觉得我的编译器有问题: 该代码什么也不返回。这让我疯狂! 问题答案: 它正在返回数组,但是所有返回的东西(包括Array)所做的只是听起来像:返回值。在您的情况下,您将获得的值,它恰好是一个数组(可以是任何数组,您仍然会遇到此问题),然后将其放在那里。 当函数返回任何内容时,它实际上是用返回值替换调用它的行(在您的情况下:)。因此,您的方法实际

  • 我最近正在学习分而治之算法。 如果返回值假定为某个整数,我就能够解决这些问题。 例如:1。二进制搜索,这里我只需要返回1如果找到,否则-1。 例:2。数组中的最大数,只需返回一个数字。 但是当涉及到返回一个数组时,就像我们需要整个数组作为输出(Ex:排序)。 我觉得很难。 有人能帮你找到最好的方法吗? 下面是我的二进制搜索方法。