2017-12-18 6 views
-1

私はユーザーに同じ日に注文を許可しないようにしています。私のSQLとPHPはこのコードからエラーを返さない。ただし、何も返さず、注文することもありません。ユーザーが同じ日付を選択することを許可しません。 PHP、MYSQLi

すべてのヘルプは大幅に

//Check if the date has been taken 
    $sql = "SELECT * FROM orders WHERE date='$date'"; 
    $result = mysqli_query($conn, $sql); 
    $resultCheck = mysqli_num_rows($result); 

    if ($resultCheck > 1) { 
     header("Location: ../placeorder.php?order=taken"); 
     exit(); 
    } else { 
     header("Location: ../placeorder.php"); 
     exit(); 
    } 
} 

//Insert orders into database 
$sql = "INSERT INTO orders (user_id, price, time, date, type, square_ft, materials) VALUES ('$userid','$price', '$time', '$date', '$type', '$square_ft','$materials');"; 
mysqli_query($conn, $sql); 
header("Location: ../placeorder.php?=order=success"); 
exit(); 
+1

あなたは、列_unique_を作ることができませんか? – FirstOne

+0

[mysqli_num_rows](http://php.net/manual/en/mysqli-result.num-rows.php)_結果セットの行数を返します。だから、 '$ resultCheck> 0'の代わりにこれをチェックするべきでしょうか? – FirstOne

+0

"私のSQLとPHPはこのコードからエラーを返しません。" - あなたはmysqlからのエラーをチェックしていません。 – rickdenhaan

答えて

0

をいただければ幸い私がしなければならなかったすべては$ resultCheck後else文を削除しました。プラスセット($ resultCheck> 0)。

 //Check if the date has been taken 
      $sql = "SELECT * FROM orders WHERE date='$date'"; 
      $result = mysqli_query($conn, $sql); 
      $resultCheck = mysqli_num_rows($result); 

       if ($resultCheck > 0) { 
        header("Location: ../placeorder.php?order=taken"); 
        exit(); 
       } 
    } 

    //Insert orders into database 
     $sql = "INSERT INTO orders (user_id, price, time, date, type, square_ft, materials) VALUES ('$userid','$price', '$time', '$date', '$type', '$square_ft','$materials');"; 
     mysqli_query($conn, $sql); 
       header("Location: ../placeorder.php?=order=success"); 
       exit(); 

}

関連する問題