我无法使用json\u encode()php函数查看作为json对象返回的mysql查询结果的所有行。这是我的密码:
$Sql_Query = "SELECT * FROM Users";
$result = mysqli_query($dbc,$Sql_Query);
$ligne = array();
$bilan = array();
while ($rowr = mysqli_fetch_assoc($result)) {
$ligne = array (
"User_ID" => $rowr['User_ID']
);
$bilan[$ligne['User']] = $ligne[[
['User_ID'][$rowr['User_ID']]
]];
array_push($bilan, $ligne);
}
echo json_encode($bilan, JSON_FORCE_OBJECT);
它还给我:
目前,0“{{{{{0 0{{{0 0{0{0{0},”0 0“{{0{1},”1“1”1”1“1”1,”1 1“1”1”1“1”1”1 1“0”0“{{{用户用户用户id id 1”1“1”1”1“1”1”1“1”1 1“{”用户id 1“19”2”2“2”2”2“{“用户用户id”1“78}”3”3,”3“3”3“3”3”3“3”3”3“3”3“3”3”3“3”3“3”3“3”3”3“3”3”3“4”1“4”4“4”4”4“4”4“4”4“4”4“4”4”4“4”6”6“{{{{{{{{“1”5”5”1“1”用户id“:”95“}”,13“:{”用户id“:”96“}”,14“:{”用户id“:”97“}”,15“:{”用户id“:”98“},16“16”:{“用户联合用户id id”:“99”},17“17”:{“用户联合用户id”:“100”},”18“18”:{“用户联合用户id”:“101”},”19“19”:{“用户联合id”:“16”6 6 6 6 6 6 6 6 6 6 6”6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6,”17 16 16“{“用户联合id”:“用户id”:“100,”18,”18 6 6 6 6 6 6 6 6 6 6 6 6 6,”19“19”:“19”19,”19“19”:{“用户联合id”:“用户id”:“102”10”10“102”,20”,20,”20,“20,”20“20,”20 21 21 21 21 21 21“{“20”:{“用户用户联合id”:“用户id”:“用户id”:“id”:“10”6 6 6 6 6 6 6 6 6 6 6,”20,”20,”20,”20,”20“““““:”111“}”,29“:{”用户id“:”112“}”,30“:{”用户id“:”113“},“31”:{“用户id”:“114”},“32”:{“用户id”:“115”},“33”:{“用户id”:“116”}
现在,我尝试将json输出中每条记录的其他字段关联起来。但是当把这个添加到我的代码中时,就没有更多的输出了。
while ($rowr = mysqli_fetch_assoc($result)) {
$ligne = array (
"User_ID" => $rowr['User_ID'],
"User_Nom" => $rowr['User_Nom']
);
$bilan[$ligne['User']] = $ligne[[
['User_ID'][$rowr['User_ID']]
][
['User_Nom'][$rowr['User_Nom']]
]];
array_push($bilan, $ligne);
}
echo json_encode($bilan, JSON_FORCE_OBJECT);
似乎可以显示数字上的值而不是字母字符。
请帮助我混合在同一输出数字和阿尔法内容。
谢谢,阿诺
3条答案
按热度按时间67up9zun1#
为清晰起见,转换为php>=5.5。
我在猜测和假设,但我还能做什么呢?我看到的主要问题是,您可能会被数组语法绊倒。似乎您希望按“user\u id”重新索引结果,我假定这是在每个表记录中找到的某个字符串标识符。
模块化,程序化。。。
以程序的形式,然后。。。
面向对象的方法可以使代码更有条理。
u91tlkcl2#
你是对的,因为最初的清洁计划,因为它不起作用,我做了太多的修改,最终增加了复杂性,没有必要。。。
我发现在php doc中可以进一步了解在json转换中添加其他字段时产生的错误。json\u last\u error()是理解问题的关键。所以我补充说:
这将返回一个utf-8编码问题。所以我修改了我的代码添加了一些
第一个工作方案与@paulh one的非常接近,只是,在我的特定情况下,我必须添加(utf8\u encode())语句:
它现在显示所有的字段,所有的行。但还是有一些”é" 已转换为“\u00e9”。所以这篇文章把最后一块砖放在了解决方案上。
我修改了:
json\强制\对象
至
json\u unescaped\u unicode
作为json\u encode()参数。
最后,我想要的代码如下:
bvuwiixz3#
$ligne['user']未初始化,请尝试以下操作:
我用这个代码测试了它
它提供了以下结果:
{“0”:{“user\u id”:3,“user\u nom”:“nom3”},“1”:{“user\u id”:2,“user\u nom”:“nom2”},“2”:{“user\u id”:1,“user\u nom”:“nom1”}
注意结果的开头不同,它不包含
“”:空,
再。这是奇怪的结果
$bilan[undefined] = undefined
线