Php mySQL获取关联数组中的数据介绍
我正在使用以下代码从我的数据库中获取用户列表:Php mySQL获取关联数组中的数据介绍,php,mysql,Php,Mysql,我正在使用以下代码从我的数据库中获取用户列表: if ($result = mysqli_query($mysqli, "SELECT user_name, name, surname, avatar, user_email FROM users")) { while ($row = $result->fetch_assoc()) { $username[] = $row["user_name"]; $user_email[] = $row["
if ($result = mysqli_query($mysqli, "SELECT user_name, name, surname, avatar, user_email FROM users")) {
while ($row = $result->fetch_assoc()) {
$username[] = $row["user_name"];
$user_email[] = $row["user_email"];
$user_name[] = $row["name"];
$user_surname[] = $row["surname"];
$avatar[] = $row["avatar"];
}
$result->close();
}
但我得到以下错误:
致命错误:[]字符串不支持运算符
若要将空数组放入数组,则应在循环之前获取空数组。像这样
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;
}
通过此操作,您可以在单个数组中获取所有数据。这些键将与数据库字段相同。这可能就是您要执行的操作:
$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'];
}
依此类推,在您发布的代码块之前,$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"];
}
在使用之前,您是否将所有这些变量(
$username,$user_email,…等)初始化为数组?mySQL将数据导入关联数组。。。。???问题是什么