我正在构建一个自动完成的插件,我需要检查以某个术语开头的所有单词,例如,设置$one
如下将检测“list”,“listener”,“listening”等等:
$one= "list%";
如何在第二个示例中附加通配符(%
)以获得相同的结果?
$one= $_REQUEST['term']; // lacks %
答案 0 :(得分:5)
答案 1 :(得分:0)
这是一种创建自动完成表单的非常有趣的方法。为了使这不是一个安全噩梦,考虑一些事情:
SQL注入:
保护您的网站免受这些类型攻击的最佳方法是使用PDO和准备好的查询。
表格验证和卫生:
$ _GET或$ _POST中的数据应始终小心对待。您正在将$ _GET中的变量直接传递给数据库。这是非常不安全的。想象一下,如果不是名字,你会得到类似'Mike;{InsertEvilCode}'
的东西。
使用通配符搜索(%):
一般来说,“通配符”搜索速度非常慢,因此您希望将通配符的数量保持在较低水平。