1

このようなクエリを作成する必要があります。

MySql-> SELECT names from users_tb WHERE names LIKE "$searchTerm" AND status <> 'blocked'

したがって、クエリは「検索用語」に一致する名前を持つすべての行を選択する必要がありますが、行をスキップする場所"status='blocked'". ここでの問題は、Like '%$searchTerm%'が呼び出されると、クエリは'blocked'であるユーザーも返すことです。つまり、AND は完全に無視されます。

どうすればこれを適切に行うことができますか?

どんな助けでも大歓迎です。

4

2 に答える 2

0

あなたがそれについて言及しなかったので、クエリは警告やエラーなしで実行できると思います。したがって、問題は論理的です。

してみてください

" SELECT names from users_tb WHERE names LIKE "$searchTerm" AND status = 'blocked' "

名前が searchTerm に一致し、ステータスがブロックされているという結果が出た場合、

SQL

" SELECT names from users_tb WHERE names LIKE "$searchTerm" AND status <> 'blocked '" は、名前が searchTerm に一致し、ステータスが NOT EQUALS TO ブロックされている場合に機能するはずです。

それでもだめなら。データベースレコードを調べて、それらが正しいかどうかを確認していただけませんか。

于 2013-05-23T05:57:44.850 に答える