我想为用户显示mysql的数据,但显示其他所有人

时间:2019-06-09 23:35:08

标签: php mysql

我想显示登录用户的信息,也就是他们的ID,名字,姓氏等,在运行下面显示的代码后,它向我显示了数据库中的所有其他用户,并排除了数据的“用户”应该显示。     

include("server.php");
if (!isset($_SESSION['username'])) {
$_SESSION['msg'] = "You must log in first";
header('location: login.php');
}
if (isset($_GET['logout'])) {
session_destroy();
unset($_SESSION['username']);
header("location: login.php");
}


$sql = "select id, username, fname, lname, email from users WHERE username != '{$_SESSION['username']}'";
$result = mysqli_query($db, $sql);
if(mysqli_num_rows($result) > 0 ){

while($row = mysqli_fetch_assoc($result)){


?>



        <tr>
            <td><?=$row['id']?></td>
              <td><?=$row['username']?></td>
            <td><?=$row['fname']?></td>
            <td><?=$row['lname']?></td>
            <td><?=$row['email']?></td>
            <br>

        </tr>

<?php

1 个答案:

答案 0 :(得分:0)

检查您的SQL语句,您有WHERE username !=,而您的要求决定了WHERE username =

此外,您应该避免直接在SQL语句中使用原始输入,即使它是从会话中获得的当前登录用户名,也存在安全隐患。请改用准备好的语句。参见How to change from mysql to pdo using prepared statements in PHP?,但您也可以使用google,在线上有很多示例。

如果评论中的人提供了正式答案,请随时接受他们的回答。欢迎来到SO:)。