我基本上試圖調用一個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