在PHP中向字符串添加通配符

时间:2011-04-14 01:39:56

标签: php

我正在构建一个自动完成的插件,我需要检查以某个术语开头的所有单词,例如,设置$one如下将检测“list”,“listener”,“listening”等等:

$one= "list%";

如何在第二个示例中附加通配符(%)以获得相同的结果?

$one= $_REQUEST['term'];  // lacks %

2 个答案:

答案 0 :(得分:5)

在分析了你的谜语之后,我认为this就是你想要的:

$one = $_REQUEST["term"] . "%";

这会将% sql占位符附加到该搜索词。 (这就是我在这里所猜测的。)

答案 1 :(得分:0)

这是一种创建自动完成表单的非常有趣的方法。为了使这不是一个安全噩梦,考虑一些事情:

SQL注入:

保护您的网站免受这些类型攻击的最佳方法是使用PDO和准备好的查询。

表格验证和卫生:

$ _GET或$ _POST中的数据应始终小心对待。您正在将$ _GET中的变量直接传递给数据库。这是非常不安全的。想象一下,如果不是名字,你会得到类似'Mike;{InsertEvilCode}'的东西。

使用通配符搜索(%):

一般来说,“通配符”搜索速度非常慢,因此您希望将通配符的数量保持在较低水平。