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

时间:2015-04-23 16:09:18

标签: php mysql session profile

我正在制作一个从mysql数据库中检索用户信息的个人资料页面。但是,我收到一条错误,指出“SQL错误:未知列”''''在' where子句'' 这是我定义$ 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;
        }

    ?>

1 个答案:

答案 0 :(得分:2)

你在

中有反复
AND `login_details`.`id` = `".$userid."'
                           ^ right there

应该是单引号

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

这解释了为什么你会收到目前的错误。

  

SQL错误:'where子句

中的未知列'4''