2010-03-20 59 views
2

用户文本搜索需要输入两个字符串和脚本将performe文本搜索:有两个参数

$sql = "SELECT * FROM table_one WHERE name='%$str1%' AND MATCH (street, city, pin) AGAINST ('$hrtg'IN BOOLEAN MODE)"; 

不知何故%没有工作,但它alwas实际上没有。请帮忙?

+0

这是可怕的组合 - 无索引LIKE和全文索引。 – 2010-03-20 11:23:27

回答

2

您需要使用LIKE

WHERE name LIKE '%$str1%' 

使用=只能找到完全匹配'%$str1%',包括%迹象字符串。


请注意,您的代码易受SQL injection影响。您可以使用prepared statements绑定变量代替。在使用MySQL时,您至少应该使用mysql_real_escape_string来转义您的变量。