mysql查询无结果

olmpazwi  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(293)

我要回显我的数据库结果 Session 但我没有得到任何结果或错误:

$_SESSION['username'];

  $link = mysqli_connect("$myHost", "$myUser", "$myPass", "$myDB");

    // Check connection
    if($link === false){
        die("ERROR: Could not connect. " . mysqli_connect_error());
    }

    $username = mysqli_real_escape_string($link, $_SESSION['username']);

   $sql = "SELECT * FROM users where username = $username";
    $result = mysqli_query($link, $sql);

    echo $result;

有人知道为什么吗?会话有效。
谢谢

vxf3dgd4

vxf3dgd41#

您应该更改查询,如下所示:

$sql = "SELECT user FROM yourtablename WHERE username = $username"

其中“user”是您想要选择的,如果您想要选择所有数据,您可以使用“*”,yourtablename是您想要选择的表的表名。
编辑之后,代码应该如下所示

$_SESSION['username'];

  $link = mysqli_connect("$myHost", "$myUser", "$myPass", "$myDB");

    // Check connection
    if($link === false){
        die("ERROR: Could not connect. " . mysqli_connect_error());
    }

    $username = mysqli_real_escape_string($link, $_SESSION['username']);

   $sql = "SELECT * FROM users where username = $username";
    if ($result = $link->query($sql)) {

        while ($row = $result->fetch_row()) {
            var_dump($row);
        }

        $result->close();
    }

更多信息请点击此处
注意: mysqli_real_escape_string 不太安全。防止sql注入的一个更好的选择是使用prepared语句,这里有更多信息

相关问题