我有:
$sql = mysql_query("select * from articles where articletitle OR articledescription OR articletags like '%$term%'");
并且不会返回任何结果。
我在这里使用OR不正确吗?
由于
答案 0 :(得分:2)
您需要将LIKE添加到所有三个子句中:
SELECT * FROM articles WHERE (articletitle LIKE '%$term%') OR (articledescription LIKE '%$term%') OR (articletags LIKE '%$term%');
答案 1 :(得分:1)
没有..你需要每次都使用类似的'...'
$sql = mysql_query("select * from articles where articletitle like '%$term%' OR
articledescription like '%$term%' OR articletags like '%$term%'");
答案 2 :(得分:1)
是。 :-)你错误地使用它。
select * from articles where (articletitle like '%$term%')
OR (articledescription like '%$term%') OR (articletags like '%$term%')
答案 3 :(得分:0)
在旁边评论中,如果$ term正好(减去双引号)“'; DELETE FROM articles; - ”会发生什么? (如果您的原始查询有这样的话,请在单引号后添加一个结束语。)我建议您依赖某些类似sprintf的工具(在PHP中通常意味着您需要准备好的语句)而不是被称为魔术引号的弃用错误。