строка mysql, содержащаяся в строке поиска - PullRequest
2 голосов
/ 14 декабря 2010

То, что мне нужно, кажется простым, но я до сих пор не смог это осуществить. Может быть, это просто поздние часы, или, может быть, все не так просто, я не знаю больше :) Итак, вот в чем дело. Я хочу иметь возможность проверить, содержит ли строка поиска с моего сайта какие-либо поля из определенного столбца в моей базе данных. Таким образом, это будет противоположно обычному:

mysql_query("  
SELECT *  
FROM `table`  
WHERE `column` LIKE '%{$search}%'  
");

, который ищет поля со значениями, в которых строка поиска равна , в которой содержится .
Что было бы проще всего, используя регулярные выражения или ...?

Спасибо большое!

Ответы [ 2 ]

3 голосов
/ 14 декабря 2010

Просто сделайте это наоборот

SELECT *  
FROM `table`  
WHERE '{$search}' LIKE concat('%', `column`, '%')

потерпите меня из-за правильного синтаксиса экранирования переменных для SQL-инъекций.

0 голосов
/ 14 декабря 2010

Ваш запрос также хорош, как вы хотите.но все же вы можете попробовать это.

Вы можете искать вашу строку, используя оператор MATCH() AGAINST() в mysql.

mysql_query("SELECT * FROM table_name WHERE MATCH(field11,field12) AGAINST ('searchstring')"); 


Here your field must be having Fulltext datatype.

Это может работать хорошо.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...