我有一个地址字段和地址存储类似于 1111地址信息,县
$stmt = $db->prepare('SELECT * FROM ' . Config::USER_TABLE . ' WHERE ' . Config::SEARCH_COLUMN . ' LIKE :query ORDER BY '.Config::SEARCH_COLUMN.' LIMIT ' . $start . ', ' . $items_per_page);
$search_query = $query.'%';
$stmt->bindParam(':query', $search_query, PDO::PARAM_STR);
目前我只能搜索字段是数字。我希望能够键入任何字母并能够搜索。有任何想法吗???感谢
答案 0 :(得分:2)
您附加到参数的%
符号充当SQL wildcard:
$search_query = $query.'%';
由于您只将它附加到参数的末尾,因此它只会在列值的开头搜索字符串。
相反,还要在参数的开头添加一个:
$search_query = '%'.$query.'%';
这样,它会在任何位置查找字符串。
答案 1 :(得分:0)
使用%search_criteria%,以便您可以使用两侧的通配符进行搜索