搜索字符串中包含的mysql字符串

时间:2010-12-14 04:49:10

标签: mysql regex string match

我需要的东西看起来很简单,但到目前为止我还没能把它拉下来。也许只是这些晚了,或者说它毕竟不是那么简单,我不知道了:) 所以,这就是事情。我希望能够检查我网站中的搜索字符串是否包含数据库中特定列的任何字段。所以,它与通常的相反:

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

查找包含搜索字符串 包含的值的字段。
什么是最简单的方法,使用一些正则表达式或......?

非常感谢!

2 个答案:

答案 0 :(得分:3)

只是反过来做

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

请耐心等待SQL注入的变量转义的正确语法。

答案 1 :(得分:0)

您的查询也很好。 但你仍然可以试试这个。

您可以使用mysql中的MATCH() AGAINST()语句搜索字符串。

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


Here your field must be having Fulltext datatype.

这可能会有效。

感谢。

相关问题