可能重复:
How do I create a PDO parameterized query with a LIKE statement in PHP?
目前我有一个非常简单的搜索引擎,它使用旧的mysql_ *查询并在查询中使用“like”,我知道现在已经过时了,使用类似的查询会随着数据库的增长而变慢?
我正在寻找一些关于如何使用PDO创建搜索引擎的想法,因为它提供了比我现有的更多保护,我研究过在查询中使用MATCH和AGAINST,搜索“标题”和“描述” “我的数据库中的列,但由于我是初学者,我不确定从哪里开始。
我一直试图弄清楚如何实现搜索查询,并在用户输入多个关键字时让搜索工作
任何帮助都非常感谢,我知道这可能是一个很大的问题,有人向我解释这个,但我正在做尽可能多的学习,因为我是一名学生,并在一个项目上工作
感谢任何人的帮助!
这是我的当前代码的一部分,我希望更改和更新以获得更安全和更好的搜索设施:
$query = "SELECT * FROM people WHERE ";
foreach ($terms as $each){
$i++;
if ($i == 1)
$query .= "lname LIKE '%$each%' ";
if($i == 1 && $_GET['category'] != '') {
$query .= "AND category = '$chosencategory' ";
}
else
$query .= "AND lname LIKE '%$each%' ";
if($_GET['price'] != '') {
$query .= " ORDER BY price $price";
}
echo $query;
}
答案 0 :(得分:3)
现在这是一个非常复杂的话题。所以我只想指出几个起点。如果其他人能够在这里为这个极其复杂的话题制定一个好的答案,我很乐意给他们一个upvote ..
[1] http://docs.doctrine-project.org/projects/doctrine1/en/latest/en/manual/searching.html
[2] http://en.wikipedia.org/wiki/Lucene
[3] http://www.amazon.com/Nine-Algorithms-That-Changed-Future/dp/0691147140