-1

我有一个下拉菜单供您选择,这会导致为下一页提供一个值。我想使用这个值来确定从哪里选择。所以可能的值是汽车和玩具。所以我想让用户使用下拉菜单选择汽车,这会导致数据库从汽车中选择来查找物品。如果用户选择玩具,我会让他们从玩具中选择以查找物品。当我尝试使用此代码时,我得到一个错误。如果我删除“%item%”,错误就消失了。任何帮助都会受到喜爱。谢谢。

提交

<form action="search.php" method="post">
<select>
<option value>Choose A Item</option>
<option value="car" name="item">Car</option>
<option value="toys" name="item">Toys</option>
</select>
<input type="submit" name="submit" value="Submit" />
</form>

搜索

$term = $_POST['term'];
$item = $_POST['item'];

$query = mysql_query("select * from '%$item%' where Items like '%$term%'");
if(mysql_num_rows($query) <= 0)
{
echo "<center>No results. Please try another item.</center>";
} else {
while ($row = mysql_fetch_array($query)) {
echo "<p2>";
echo $row['Items'], ' - Location ' .$row['Loc'];
echo '<br/><br/>';
echo "</p2>";
}
}
?>
4

2 回答 2

0

1.) - 不要使用 mysql_query - 它是一个过时的库,你上面写的查询会受到 SQL 注入 - 互联网上最常见的妥协。

2.) 不要使用 like '%...%' 因为它不能被索引,并且在任何中等大小的表或更大的表上都会非常慢。尝试至少删除第一个 % 以允许索引。

http://php.net/manual/en/book.pdo.php

于 2013-03-18T02:20:19.390 回答
-1

我认为您的查询应该更改为:$query = mysql_query("select * from '$item' where Items like '%$term%'");

于 2013-03-18T02:13:42.990 回答