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将数据导入关联数组。。。。???问题是什么