搜索功能不完善

Search function incomplete

我正在网站上实现搜索功能。

有一个名为 nombre_ciudad 的字段,该字段的值为 "Ciudad Juárez"。

我需要搜索字词 "Ju",但现在搜索不到。

这是我现在使用的部分代码:

$sql.=" OR nombre_ciudad LIKE '".$requestData['search']['value']."%' ";

搜索适用于 "Ciudad Juarez"、"C"、"ciudad",但不适用于 "arez" 或 "rez"

  1. 您在模式的开头缺少通配符 %
  2. 您容易受到 SQL 注入攻击,请参阅:How can I prevent SQL injection in PHP?

MySQL 中的 % 符号充当通配符。如果我尝试搜索 ciudad,然后输入 LIKE '"da%"',我会找回所有以 da 开头的条目,以及以 da 结尾的所有条目,包括 [=15] =].为了搜索 beforeafter 您的查询,您需要在查询前后放置通配符,如下所示:

OR nombre_ciudad LIKE '%da%';