2016-03-26 77 views
-5
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'但這對我來說工作不正常。兩個在SQL語句中的AND

不僅會出現錯誤,還會返回facebook作爲類型列的結果。

我使用了PDO並且還設置了.htaccess以避免SQL注入。

+0

定義'不工作'..並確保發佈*整個*相關的上下文。此外,請參閱/應用http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php?rq=1 – user2864740

+0

錯誤消息?預期的結果與實際結果... – Musa

+0

@Musa不出現錯誤,不僅返回類型列的結果Facebook,返回列的所有結果列 – Gisele

回答

1

查詢多個表格時,您需要針對每個表格中的每個表格指定特定的表格。例如:posts.id_posts而不是id_posts。

所以你的第一個問題是,你用slu instead代替posts.slug或images.slug和類型代替posts.types或images.types。

我假設列slu and和類型都在帖子表中。

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

假設蛞蝓和類型都在職位表中,查詢應該工作。如果其中一個或兩個都在圖像表中,請更改p。在他們面前我。然後再試一次。另外,我不能很好的意識地發佈這個,而不迴應以前關於SQL注入的問題。我知道你說過你使用PDO,但請檢查一下以確保安全。