我基本上试图调用一个MySQL查询并获取服务器的响应,我已经完成了它并且工作正常。现在我需要编码为一个JSON阵列响应(每行作为一个JSON对象,并将它们添加到一个JSON阵列)编码PHP MySQL对JSON的查询响应问题
我的代码:
foreach ($db->query('SELECT * from mydb.UserTable') as $sqlresp) {
$rows = array();
while($r = mysqli_fetch_assoc($sqlresp)) {
$rows['users'][] = $r;
}
print json_encode($rows);
}
上面的代码给了我这个错误:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, array
它指出,这条线:
while($r = mysqli_fetch_assoc($sqlresp)) {
JSON对象,我需要在JSON阵列:
粗略这将是结构..
user
{
name: "john",
picture: "http://...."
details {
email: "[email protected]",
telephone: "3456..."
}
}
*表中的列名是一样的对象属性的名称(例如:名称,图片等)
我的代码出了什么问题,以及如何正确地将查询响应的行编码为JSON数组?
编辑:
我需要的数组,因为我需要这个数组发送到JavaScript函数。所以我需要它在JSON数组格式
是的,它是连接资源。你可以在查询行之后显示剩余的代码吗? while循环等 – Dinuka
'$ sqlresp = $ db-> query('SELECT * from mydb。UserTable'); if($ sqlresp) { $ rows = array(); ($ r = $ sqlresp-> fetch_assoc()){ $ rows ['users'] [] = $ r; } print json_encode($ rows); }' – Subash
用于迭代'$ r = $ sqlresp-> fetch_assoc()' – Subash