-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 に答える