php - MySQL查询没有结果

标签 php mysql mysqli

我想从 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;

有人知道为什么不吗? session 有效。

谢谢

最佳答案

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

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

更多信息here

注意: mysqli_real_escape_string 它不太安全。防止 SQL 注入(inject)的更好选择是使用准备好的语句,更多信息 here

关于php - MySQL查询没有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52331003/

相关文章:

php - 使用php脚本转换文件的结束行

php - CodeIgniter 路由在子目录中不起作用

java - 在搜索栏中使用单引号

mysql - phpMyAdmin 是否有内置安全性

php - 存储过程中的 SQL 注入(inject)?

php - 找不到稳定性稳定的包/laravel/laravel

用于调整图像大小的 php-css 编辑(wordpress 主题)

mysql - SQL 按常用值数量排序

php - php 中的多个 MySQL 查询。我试图弄清楚如何使用单选按钮在数据库中搜索多个查询

php - 在显示数据库内容方面需要帮助