我有一个带有属性名称表的MySqL数据库(可能超过一个单词),我想运行一个查询来获取用于自动填充字段的用户文本输入的结果。
我目前使用的查询是:
$query = "SELECT * FROM table WHERE LOWER(name) LIKE '%$value%' LIMIT 7";
但这还不够好。
我尝试拆分输入的$ value但由于某种原因无效:
$values = explode(" ", $value);
$str = "";
for($i = 0; $i < count($values); ++$i)
{
if( $i == 0)
$str .= "LOWER(name) LIKE '%&$values[$i]%' ";
else
$str .= "AND LOWER(name) LIKE '%$values[$i]%' ";
}
$query = "SELECT * FROM table WHERE ". $str . " LIMIT 7";
你有什么建议吗?
提前TX。答案 0 :(得分:0)
在您的查询中执行OR
而不是AND
:
$str .= "OR LOWER(name) LIKE '%$values[$i]%' ";