私は現在のIDのタグに基づいて類似のIDを見つけるクエリを書いています。問題は、私の例では、この検索からbookid 30を除外したいということです。ここで非常に具体的なmysqlクエリが動作しない
は私のクエリです:
注:$似ては、基本的に機能していない部分があるいくつかの「%などのアイテム%または」
$query = "SELECT * FROM books
WHERE bookid !=30
AND {$similar}
AND visible ='1'
AND level ='2'
LIMIT 3";
で築き上げたタグで満たされた文字列でありますwhere bookid!=私は試しましたが、<>並べ替えなど、これまでに見つけたものは何ですか?このクエリはまだ動作しますが、3行を出力しますが、まだブックIDが含まれています30
ここには何が起こっているのか説明できますか?私のクエリは複雑すぎて再構築する必要がありますか?
私はそれぞれの行をフェッチし、私は必要としないbookidを除外するために、whileループに送信限度に4つの項目を作っていた思い付いてきた貧しい人々の代替。これは、クエリで実行できることが分かっているときは、無意味に思えます。 1がある場合
アイブ氏は、私がbookidれる奇妙での通知をした
SELECT * FROM books WHERE bookid !=30 AND (bookid!=30 AND tags LIKE '%one%') OR (bookid!=30 AND tags LIKE '% two%') OR (bookid!=30 AND tags LIKE '% three%') AND visible ='1' AND level ='2' LIMIT 3
一つ後
SELECT * FROM books WHERE bookid !=30 AND tags LIKE '%one%' OR tags LIKE '% two%' OR tags LIKE '% three%' AND visible ='1' AND level ='2' LIMIT 3
前に私のクエリおよび$似た文字列 を再構築することによって、これを固定!=のみ動作します私はそれぞれをスワップしてみましたが、クエリは実行されませんでしたが、現在の文字列は完全に機能します!
おかげで、
として評価されるのですか?または$類似の値の例? thx –