选择*来自'%item%'?

时间:2013-03-18 02:10:11

标签: php mysql select

我有一个下拉菜单供我选择,这会产生给下一页的值。我想用这个值来确定从哪里选择。所以可能的价值观是汽车和玩具。所以我想让用户使用下拉菜单选择汽车,这导致数据库从汽车中选择找到项目。如果用户选择玩具,我会让他们从玩具中选择以找到该项目。当我尝试使用此代码时,我得到一个错误。如果我删除'%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>";
}
}
?>

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:-1)

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