两个AND在sql语句中

时间:2016-03-26 03:47:34

标签: php sql

SELECT * FROM posts, images
         WHERE posts.id_posts = images.posts_ID 
         AND slug='".$_GET['slug']."' AND types='facebook' ORDER BY id_posts LIMIT $init,$max

我想添加语句AND types='facebook',但这对我来说不正常。

不仅会出现错误,而且还会返回facebook作为类型列的结果。

我使用PDO并设置.htaccess以避免SQL注入。

1 个答案:

答案 0 :(得分:1)

当查询多个表格时,您希望特定于每个列的特定表格。例如:posts.id_posts而不是id_posts。

所以你的第一个问题是使用slug而不是posts.slug或images.slug和类型而不是posts.types或images.types。

我假设列slug和type都在posts表中。

SELECT * FROM posts AS p, images AS i WHERE p.id_posts = i.posts_ID AND p.slug='" . $_GET['slug'] . "' AND p.types='facebook' ORDER BY p.id_posts LIMIT $init,$max

假设slug和type都在posts表中,那么该查询应该有效。如果图像表中有一个或两个,请更改p。在他们面前我。然后再试一次。

另外,我不能很好地发布这个内容而不回应之前关于SQL注入的担忧。我知道你说你使用过PDO,但为了安全起见,请复习。