MySQL запрос против подстановочного знака - PullRequest
6 голосов
/ 23 февраля 2010

У меня есть запрос mysql в php, использующий сопоставление / против для фильтрации результатов. Я пытаюсь получить подстановочный знак после $ string, чтобы следующий символ мог быть чем угодно. Помощь

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

Ответы [ 2 ]

6 голосов
/ 23 февраля 2010

Используйте * вместо % в качестве группового символа при использовании MATCH (...) AGAINST (...):

"SELECT * FROM $table WHERE MATCH (message) AGAINST('$string*' IN BOOLEAN MODE)"
2 голосов
/ 23 февраля 2010

Не вставляйте переменные в строки в двойных кавычках, и все готово:

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

При этом я не могу подтвердить, что это действительный SQL. Но, по крайней мере, это обеспечит правильное расширение вашей переменной, и если она не будет работать, то это не произойдет из-за PHP.

И на всякий случай, если это напоминание будет полезно, Невар забудет экранировать данные, входящие в запрос .

...