MySQL与PHP - LIKE无法正常工作

时间:2012-07-01 06:29:03

标签: php mysql

我想搜索MySQL数据库以匹配用户传递的关键字。我听说使用LIKE是最快的选项,但在PHP代码中找不到使用LIKE的完整简单查询的示例。

这就是我的意思:

$value = 'Fire';
$result = mysql_query("SELECT * FROM effects WHERE title LIKE 'value%'");

我知道数据库中有一行Fire作为标题,但查询返回null

有人可以举个例子说明如何执行MySQL LIKE搜索或替代按关键字查找行。

谢谢。

2 个答案:

答案 0 :(得分:3)

您需要添加变量的美元符号:

$result = mysql_query("SELECT * FROM effects WHERE title LIKE '$value%'");

答案 1 :(得分:2)

您在变量$之前缺少value

您的查询应该是

$value = 'Fire';
$result = mysql_query("SELECT * FROM effects WHERE title LIKE '$value%'");

说有My Fire Effect之类的标题。你不想在搜索结果中这个吗?如果您想在结果中显示My Fire Effect,那么您应该在$ value

之前使用%
$value = 'Fire';
$result = mysql_query("SELECT * FROM effects WHERE title LIKE '%$value%'");

希望这会对你有所帮助。

对于差异,请参阅demo with live example

注意 在demo中的第一个查询返回5行,但是第二个查询返回8行,这是完美的。