我在 php 中有一个 mysql 查询,使用 match / against 来过滤结果。我试图在 $string 之后得到一个通配符,所以下一个字符可以是任何东西。帮助?
"SELECT * FROM $table WHERE MATCH (message) AGAINST('$string%' IN BOOLEAN MODE)"
使用时使用*
而不是%
作为通配符MATCH (...) AGAINST (...)
:
"SELECT * FROM $table WHERE MATCH (message) AGAINST('$string*' IN BOOLEAN MODE)"
不要将变量嵌入到双引号字符串中,然后您就设置好了:
"SELECT * FROM " . $table . " WHERE MATCH (message) AGAINST ('" . $string . "%' IN BOOLEAN MODE)"
话虽如此,我无法确认这是有效的 SQL。但至少它会确保你的变量被正确扩展,如果它不起作用,那么它不会是因为 PHP。
为了以防这个提醒有用,nevar忘记转义进入查询的数据。