上面的查询不会从数据库中提取信息

时间:2019-03-11 21:38:30

标签: php sql

$read = "SELECT * FROM elmtree 
WHERE id ='$getid' AND 
INNER JOIN elmtree_users ON elmtree.userid = elmtree_users.id";

上面的查询不会从数据库中提取信息以发布到网站。

我正在尝试使用$ getid从数据库中提取项目,但还要将项目ID与上载该项目的用户ID结合在一起。然后使用while循环将项目打印到屏幕上。

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

您显示的SQL语法不正确。连接子句描述了哪些表可用于其余查询;您提到的所有表都必须包含在“ FROM”子句中,因此“ JOIN”也应属于该表。

SELECT *
FROM elmtree
    INNER JOIN elmtree_users ON elmtree.userid = elmtree_users.id
WHERE id ='$getid'

答案 1 :(得分:1)

您的SQL查询未正确编写。在联接表中不使用AND,并且WHERE语句应在JOIN之后。

尝试以下操作:

$read = "SELECT * FROM elmtree INNER JOIN elmtree_users ON(elmtree.userid = elmtree_users.id) WHERE elmtree.id ='$getid'";

更新

您能否在代码中尝试以下操作(将$this->database替换为数据库变量)并发布结果:

if ($result = $conn->query($read)) {
    while ($row = $result->fetch_assoc()) {
        ...
    }
} else {
    throw new Exception("Database Error [{$this->database->errno}] {$this->database->error}");
}

答案 2 :(得分:0)

$ read =“ SELECT * FROM elmtree内连接elmtree_users ON(elmtree.userid = elmtree_users.id)WHERE elmtree.itemid ='$ getid'

非常感谢Omari Celestine找到问题的答案!