【发布时间】:2013-09-29 06:39:31
【问题描述】:
我的应用程序允许搜索文章。因此,当用户输入字符串“articlex”时,会显示查询和结果,但是当输入多个单词“articlex articley”时,查询不会显示任何结果。
目前我正在使用此查询
$querySub = 'SELECT * FROM table WHERE (col1 LIKE "%'.$search_string.'%") OR (col2 LIKE "%'.$search_string.'%") OR (col3 LIKE "%'.$search_string.'%")';
其中$search_string 仅包含用户输入
如何使查询也适用于多个单词?
【问题讨论】:
-
你最好在
PDO上使用prepared statement。您当前的代码允许 SQL 注入 攻击。 -
如果我使用 mysql_real_esacep_string(),它会安全吗?
-
是的,但
mysql_**函数已弃用。看这里php.net/manual/en/function.mysql-real-escape-string.php你可以选择Mysqli或PDO。我推荐你PDO。
标签: php mysql search full-text-search