0

私は持っています:

$sql = mysql_query("select * from articles where articletitle OR articledescription OR articletags like '%$term%'");

結果は返されません。

ここでORを間違って使用していますか?

ありがとう

4

4 に答える 4

2

3つの句すべてにLIKEを追加する必要があります。

SELECT * FROM articles WHERE (articletitle LIKE '%$term%') OR (articledescription LIKE '%$term%') OR (articletags LIKE '%$term%');
于 2012-06-05T23:33:07.757 に答える
1

いいえ..毎回「...」のようなものを使用する必要があります

$sql = mysql_query("select * from articles where articletitle like '%$term%' OR 
articledescription like '%$term%' OR articletags like '%$term%'");
于 2012-06-05T23:33:17.637 に答える
1

はい。:-)あなたはそれを間違って使用しています。

select * from articles where (articletitle like '%$term%') 
OR (articledescription like '%$term%') OR (articletags like '%$term%')
于 2012-06-05T23:33:31.303 に答える
0

副次的なコメントとして、$ termが正確に(二重引用符を除いて) "'; DELETE FROMarticles;-"である場合はどうなりますか?(元のクエリにそのような機能がある場合は、一重引用符の後に終了パレンを追加します。)マジッククォートと呼ばれる非推奨の誤った機能ではなく、sprintfのような機能(PHPではプリペアドステートメントが必要になることが多い)に依存することをお勧めします。

于 2012-06-06T01:25:18.303 に答える