mysql查询通配符

时间:2010-02-23 00:19:26

标签: php wildcard against

我在php中有一个mysql查询,使用match / against来过滤结果。我试图在$ string之后得到一个通配符,这样下一个字符可以是任何东西。帮助

"SELECT * FROM $table WHERE MATCH (message) AGAINST('$string%' IN BOOLEAN MODE)"

2 个答案:

答案 0 :(得分:6)

使用*时,使用%代替MATCH (...) AGAINST (...)作为通配符:

"SELECT * FROM $table WHERE MATCH (message) AGAINST('$string*' IN BOOLEAN MODE)"

答案 1 :(得分:2)

不要将变量嵌入双引号字符串中并设置:

"SELECT * FROM " . $table . " WHERE MATCH (message) AGAINST ('" . $string . "%' IN BOOLEAN MODE)"

话虽如此,我无法确认这是有效的SQL。但至少它会确保你的变量被正确扩展,如果它不起作用,那么它就不会因为PHP了。

如果这个提醒有用,nevar会忘记escape data that goes into a query