我使用下面的代碼從我的數據庫中的用戶列表中的關聯數組:MySQL的獲取數據的介紹
,但我得到了以下錯誤:
Fatal error: [] operator not supported for strings
我使用下面的代碼從我的數據庫中的用戶列表中的關聯數組:MySQL的獲取數據的介紹
,但我得到了以下錯誤:
Fatal error: [] operator not supported for strings
這可能是你想要做什麼:
$rows = array();
while ($row = $result->fetch_assoc()) {
$rows[] = $row;
}
// $rows is now an array that contains each individual row from your result set
那麼你可以做任何你想用這些數據,例如,在一個表或任何顯示。
foreach($rows as $user)
{
echo $user['user_name'] . ' - ' . $user['user_email'];
}
等等
你應該採取的如果你想把這些數組放到數組中,請使用空數組。這樣
if ($result = mysqli_query($mysqli, "SELECT user_name, name, surname, avatar, user_email FROM users")) {
$results=array();
while ($row = $result->fetch_assoc()) {
$results []=$row;
}
$result->close();
}
其他明智的你應該刪除[]
你可以做到這一點也 -
$user_data = array();
while ($row = $result->fetch_assoc()) {
$user_data[] = $row;
}
通過這個你可以在一個陣列中的所有數據。密鑰將與數據庫字段相同。
你的$ username變量已經在某處你已經發布的代碼塊之前的代碼設置爲一個字符串。如果你使用$ username = array();你會失去這個變量。我不知道你是否需要它。
這裏是一個更好的方法去做:
$users = array();
while ($row = $result->fetch_assoc()) {
$users[] = array(
"username" => $row["user_name"],
"email" => $row["user_email"],
"name" => $row["name"],
"surname" => $row["surname"],
"avatar" => $row["avatar"]
);
}
,您可以使用循環的foreach用戶:
foreach($users as $user){
echo $user["username"];
echo $user["email"];
}
沒有你初始化所有的變量('$的用戶名,$ USER_EMAIL .. 。etc')作爲數組使用之前? –
mySQL獲取數據介紹一個asociative數組....什麼是問題 – DevLakshman