PHPを使用して次のMySQLクエリを実行し、$_GET()
のすべての要素が空の文字列の場合は、volunteers
テーブルのすべてのレコードが返されます。空のパラメータを使用してPHP検索スクリプトを実行すると、MySQLテーブル全体が返されます
$first = $_GET['FirstName'];
$last = $_GET['LastName'];
$middle = $_GET['MI'];
$query = "SELECT * FROM volunteers WHERE 0=0";
if ($first){
$query .= " AND first like '$first%'";
}
if ($middle){
$query .= " AND mi like '$middle%'";
}
if ($last){
$query .= " AND last like '$last%'";
}
$result = mysql_query($query);
空のパラメータは、結果が空$result
が返されるということで、このスクリプトに送信できるようにすることの最もエレガントな方法は何ですか?
これはあなたの本当のソースコードである場合は、SQLインジェクションの重要な問題を抱えているの除去です。 –