简体   繁体   English

MySQL查询无结果

[英]MySQL query no results

I want echo my DB results from Session but i get no results or errors: 我想从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;

Anyone know why not? 有人知道为什么吗? Session works. 会议工作。

Thanks 谢谢

You should change your query, like this: 您应该更改查询,如下所示:

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

Where "user" is what you want to SELECT if you want to select all data, you can use "*", yourtablename is table name of table you want to select. 如果要选择所有数据,则“用户”是要选择的内容,可以使用“ *”,yourtablename是要选择的表的表名。

After your edits, your code should look like 编辑后,您的代码应如下所示

  $_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();
    }

More info here 更多信息在这里

Notice: mysqli_real_escape_string it's not very security. 注意: mysqli_real_escape_string不是很安全。 A better option to protect against SQL injections is using prepared statements, more info here 防止SQL注入的更好选择是使用准备好的语句,更多信息请点击这里

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM