0

検索フォームを作成していますが、クエリを実行しても間違った結果が返されます。

$sql = "select * from posts WHERE title like '%$term%' or description like '%$term%' and type='$type' order by id";

これは説明まで結果を返しますが、タイプを完全に無視します。しかし、私がタイプだけを与えるならば、それは働きます。例えば

$sql = "select * from posts WHERE type='$type' order by id";

クエリが複雑すぎるためにこれが起こっていることを誰かに教えてもらえますか?または私は何かが欠けていますか。前もって感謝します。

4

1 に答える 1

4

ANDよりも優先されるので、かっこが必要なようですOR

$sql = "select * 
from posts 
WHERE (title like '%$term%' or description like '%$term%') and type='$type' order by id";

ではなく、列リストを指定することもお勧めしますSELECT *

于 2013-02-07T17:47:26.287 に答える