我有这个问题与PHP。我想做的事情是建立一个包含三个过滤器的搜索引擎:按标题,描述和价格搜索。 这是我的索引html。如何在php中创建搜索过滤器
<form style="text-align:center;" method="get" action="search.php">
<label>
Search
<input type="text"name="keywords" autocomplete="off">
</label>
<input type="submit" value="Search"><br>
</form>
通过使用操作方法,我打电话给search.php文件。
if(isset($_GET['keywords'])) {
$keywords = $db->escape_string($_GET['keywords']);
$query = $db->query("SELECT title, description, price FROM products WHERE title LIKE '%{$keywords}%' OR description LIKE '%{$keywords}%' OR price LIKE '%{$keywords}%'");
}
不是它结合了所有的结果之一,因为我使用的是同一个变量的关键字。 现在的问题是我没有过滤器,因为我不知道如何创建它。也许我希望有一个下拉选择与这三个选项:标题,描述,价格。但我不知道如何让我的PHP代码看看哪一个被选中。或者,也许我的想法有更好的解决方案? 我应该使用不同的变量,如关键字是或什么?
感谢解决方案!我该如何保护我的注入代码?你能给我一些关于它的信息吗? – CaL17
@ CaL17 [我怎样才能防止SQL注入在PHP?](https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) – FirstOne
我猜有些东西是错误的这个“。$ _GET ['field']。”。这是一个语法问题或quatation标记问题。它不适合我,我的编辑表明这是不正确的 – CaL17