搜索功能不完善
Search function incomplete
我正在网站上实现搜索功能。
有一个名为 nombre_ciudad 的字段,该字段的值为 "Ciudad Juárez"。
我需要搜索字词 "Ju",但现在搜索不到。
这是我现在使用的部分代码:
$sql.=" OR nombre_ciudad LIKE '".$requestData['search']['value']."%' ";
搜索适用于 "Ciudad Juarez"、"C"、"ciudad",但不适用于 "arez" 或 "rez"
- 您在模式的开头缺少通配符
%
- 您容易受到 SQL 注入攻击,请参阅:How can I prevent SQL injection in PHP?
MySQL 中的 %
符号充当通配符。如果我尝试搜索 ciudad
,然后输入 LIKE '"da%"'
,我会找回所有以 da
开头的条目,以及以 da
结尾的所有条目,包括 [=15] =].为了搜索 before 和 after 您的查询,您需要在查询前后放置通配符,如下所示:
OR nombre_ciudad LIKE '%da%';
我正在网站上实现搜索功能。
有一个名为 nombre_ciudad 的字段,该字段的值为 "Ciudad Juárez"。
我需要搜索字词 "Ju",但现在搜索不到。
这是我现在使用的部分代码:
$sql.=" OR nombre_ciudad LIKE '".$requestData['search']['value']."%' ";
搜索适用于 "Ciudad Juarez"、"C"、"ciudad",但不适用于 "arez" 或 "rez"
- 您在模式的开头缺少通配符
%
- 您容易受到 SQL 注入攻击,请参阅:How can I prevent SQL injection in PHP?
MySQL 中的 %
符号充当通配符。如果我尝试搜索 ciudad
,然后输入 LIKE '"da%"'
,我会找回所有以 da
开头的条目,以及以 da
结尾的所有条目,包括 [=15] =].为了搜索 before 和 after 您的查询,您需要在查询前后放置通配符,如下所示:
OR nombre_ciudad LIKE '%da%';