如何从数据库中选择多个数据并将其分配到会话中?

我想从数据库中选择数据并将其分配到会话中。后来我想调用它并使用它..


$sql = "SELECT * FROM users WHERE email = '$email' AND password = 

  '$password'";

  $query = mysqli_query($mysqli, $sql) or die ("Error: " . 

  mysqli_error($mysqli));

  $row = mysqli_num_rows($query);

  if($row == 0)

  {

     echo "Invalid Username/Password. Click here to <a href = 

     'login.html'>Login</a>";

  }

  else

  {

     $sql = "SELECT accname FROM account WHERE email = '$email'";

     $result=mysqli_query($mysqli,$sql);

     $row=mysqli_fetch_all($result,MYSQLI_BOTH);

     $_SESSION['accname']= array_column($rows, 'accname');

     $r = mysqli_fetch_assoc($query);

     $_SESSION['fname'] = $r['fname'];

     $_SESSION['lname'] = $r['lname'];

     $_SESSION['email'] = $r['email'];

     header("Location: dashboard.php");

   }


天涯尽头无女友
浏览 178回答 1
1回答

冉冉说

如果用户可以有多个accname与其电子邮件地址关联的值,那么您可以使用array_column从结果数据中提取所有这些值:$sql = "SELECT accname FROM account WHERE email = '$email'";$result=mysqli_query($mysqli,$sql);$rows=mysqli_fetch_all($result,MYSQLI_BOTH);$_SESSION['accname']= array_column($rows, 'accname');如果只能有一个accname,您可以简单地将调用更改mysqli_fetch_all为mysqli_fetch_assoc:$sql = "SELECT accname FROM account WHERE email = '$email'";$result=mysqli_query($mysqli,$sql);$row=mysqli_fetch_assoc($result);$_SESSION['accname']= $row['accname'];
打开App,查看更多内容
随时随地看视频慕课网APP