4

1 つのテーブルから複数の行を取得しようとしています。私は、すべての男性またはすべての女性を異なる郵便番号で引っ張ろうとしています。

<?php
$zipCodes = array("55555", "66666", "77777", etc...);

$fetchUser = mysql_query("select * from users where gender = '$_POST[gender]' ".implode(" or zipCode = ", $zipCodes)." order by id desc");
while($var = mysql_fetch_array($fetchUser)) {
  code...
}
?>
4

2 に答える 2

2

INこれで使用する必要があります。

SELECT ...
FROM   tableName
WHERE gender = '$_POST[gender]' AND
      zipCode IN (55555, 6666, 77777)

現在、コードは SQL インジェクションに対して脆弱です。PDOまたはMySQLI拡張でお読みください。

この記事の詳細: PHP で SQL インジェクションを防止する最善の方法
PHP PDO: 配列を IN() 条件にバインドできますか?

于 2012-09-26T07:45:49.633 に答える
0
// Prevent SQL injection for user input
$fetchUser = mysql_query("select * from users where gender = '".filter_var($_POST[gender], FILTER_SANITIZE_STRING)."' OR zipCode IN (".implode(",", $zipCodes).") order by id desc");)
于 2012-09-26T07:49:40.260 に答える