【问题标题】:php error with $userid, can't retrieve data from mysql$userid 的 php 错误,无法从 mysql 检索数据
【发布时间】:2015-04-23 16:09:18
【问题描述】:

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

    ?>

【问题讨论】:

  • 你在$userid中有一个`而不是单引号
  • @AbhikChakraborty 抱歉,我在写答案时没有看到您的评论。
  • @Fred-ii- 没关系,伙计!最好有一个答案,这样其他人就不会重复同样的事情。
  • @AbhikChakraborty 干杯兄弟!

标签: php mysql session profile


【解决方案1】:

你有一个反引号

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

应该是单引号

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

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

SQL 错误:'where 子句中的未知列'4''

【讨论】:

  • 你回答得很快,伙计...!!我刚刚输入的东西,你回答... :)
  • @HardikBhavsar 我曾经以 90 wpm 的速度打字,现在已经下降到 40 左右,这就是我速度快的原因 ;-)
  • 感谢您的回复!它消除了错误,但仍然不会回显结果。我想知道我的会话代码是否正确?
  • @Raru 不客气。 &lt;li&gt; 通常与随附的 &lt;ul&gt; 相关联,而该 &lt;ul&gt; 不在您的代码中。可能是一个促成因素。但是这种类型的查询可能需要使用 JOIN。在您打开 PHP 标记(例如 &lt;?php error_reporting(E_ALL); ini_set('display_errors', 1);)之后将错误报告添加到文件顶部,然后是其余代码,以查看它是否产生任何结果。
  • @Raru Plus,这两个代码体是在单独的文件中还是在同一个文件中?如果在同一个内部,则将您的查询放入循环中。将错误检查添加到您的查询而不是 else
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-13
相关资源
最近更新 更多