php $userid 错误,无法从 mysql 检索数据

php error with $userid, can't retrieve data from mysql

我正在制作一个从 mysql 数据库中检索用户信息的个人资料页面。但是,我收到一条错误消息,指出“SQL 错误:'where clause' 中的未知列‘4’” 这是我定义 $userid:

的代码
<?php 
        $db = new mysqli("localhost", "root", "", "dbname");
        if ($db->connect_errno) {
            echo "Connect failed: " . $db->connect_error;
            exit();
            } 
            $query="SELECT * FROM login_details";
            if ($result = $db->query($query)) {
            while ($row= $result->fetch_assoc()) {
                $userid=$row["id"];
            }
            }
            ?>

这里是 php 我想要检索的信息,我已经检查了 mysql 上的查询并且它有效所以我认为 $userid 值不正确?或者我使用会话代码搞砸了。

<?php
        $query = "SELECT * FROM `authors`, `login_profile`, `login_details` WHERE `authors`.`id` = `login_profile`.`author_id` AND `login_profile`.`user_id` = `login_details`.`id` AND `login_details`.`id` = `".$userid."'";
        if ($result = $db->query($query)) {
        while ($row= $result->fetch_assoc()) {
            echo "<li>".$row["Bio"]."</li>";
            echo "<li>".$row["Contact"]."</li>";
            }
        } else {
            echo "SQL Error: ". $db->error;
        }

    ?>

你有反引号

AND `login_details`.`id` = `".$userid."'
                           ^ right there

应该是单引号

AND `login_details`.`id` = '".$userid."'

这解释了为什么您会收到当前错误。

SQL Error: Unknown column '4'' in 'where clause