0

新しい郵便番号を追加する前に、郵便番号が既に存在するかどうかを確認しようとしています:

クエリを空にすると、NO という答えが返されます。検索フィールドに何も入力しないと、郵便番号が存在しなくても、YES と返されます。

$search=$_POST['search'];
$result = mysql_query("SELECT zipcodes FROM zipcodes WHERE zipcodes='$search'");
if ($result = $search) {
$search = "yes";
}else{
$search = "no";
}

何か案は?ありがとうございました。

4

6 に答える 6

4

この行で 1 つの等号を使用しています。

if ($result = $search)

同等性を比較$resultする代わりに割り当て、常に true を返します。$searchを使用し==ます。

COUNTまた、 orの使用に関する John Woo のアドバイスを参考にしてmysql_num_rowsください。

$search = $_POST['search'];
$result = mysql_query("SELECT zipcodes FROM zipcodes WHERE zipcodes='$search'");

if (mysql_num_rows($result) > 0) {
    $search = "yes";
}else{
    $search = "no";
}
于 2012-09-10T16:13:24.713 に答える
2

使ってみてCOUNT

SELECT COUNT(*) FROM `zipcodes` WHERE` zipcodes = 'value'

郵便番号が存在しない場合は 0 を返します。

于 2012-09-10T16:12:50.263 に答える
0
echo (mysql_errno($db_object) == 1062) ? 'duplicate' : 'unique';
于 2012-09-10T16:14:45.757 に答える
0

この行を変更してみてください

$result = mysql_query("SELECT zipcodes FROM zipcodes WHERE zipcodes='$search'");

$result = mysql_query("SELECT zipcodes FROM zipcodes WHERE zipcodes=\"$search\"");

$search 変数は、一重引用符内の値を出力しません

于 2012-09-10T16:15:44.063 に答える
0

PHPでは、次のこともできますif (mysql_num_rows($result) > 0)

于 2012-09-10T16:14:12.590 に答える
0

使用する

$search=$_POST['search'];
$result = mysql_query("SELECT zipcodes FROM zipcodes WHERE zipcodes='$search'");

if (mysql_num_rows($result) > 0) {

$search = "yes";
}else{
$search = "no";
}
于 2012-09-10T16:33:00.340 に答える