仅回显当前用户详细信息

时间:2018-09-21 06:45:52

标签: php

请有人帮我提供此代码吗?它会显示所有用户的信息,但我需要它仅显示已登录用户的信息。

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "username";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);

} 
$sql = "SELECT AEG FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 3) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
  echo "id: " . $row["AEG"]. "<br>";
  }
} else {
  echo "0 results";
}

$conn->close();
?>

2 个答案:

答案 0 :(得分:0)

登录后,将电子邮件/用户名/ ID存储在$ _SESSION变量中;

$_SESSION['email'] = $email; // in this example I used email

然后在文件上,您可以使用$ _SESSION ['variable']访问会话变量并将其用于sql语句;

我的修改是带有注释的修改。

<?php
   $servername = "localhost";
   $username = "username";
   $password = "password";
   $dbname = "username";

   /*Store session data in a variable*/
   $email = $_SESSION['email'];
   /**********************************/

   $conn = new mysqli($servername, $username, $password, $dbname);

   if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
   }

   /*Add where clause to your sql statement*/
   $sql = "SELECT AEG FROM users WHERE email ='".$email."'";
   /****************************************/

   $result = $conn->query($sql);

   if ($result->num_rows > 3) {
     while($row = $result->fetch_assoc()) {
     echo "id: " . $row["AEG"]. "<br>";
     }
   } else {
     echo "0 results";
   }

   $conn->close();
?>

答案 1 :(得分:-1)

如果您有4位用户,请尝试此操作,那么它仅显示一个

if($result->num_rows > 0) 
{
  while($row = $result->fetch_assoc()) 
  {
     echo "id: " . $row["AEG"]. "<br>";
  }
} 
else
{
   echo "0 results";
}