カメラの予約を MYSQL データベースに送信する Web ページを作成しています。この Web ページには、それを次の PHP ページに転送する html フロントエンドがあり、そこからその情報が MYSQL に送信されます。現在、クライアントは、カメラの重複予約を行う方法がないことを望んでいます。これを実現するために、次の PHP ページを作成しました。これは、html フロントエンド ($_POST[camera]) で選択されたカメラが $result_array 配列内のものと同じかどうかをチェックします。コードは次のとおりです。
<?php
$con = mysql_connect("****","*****","*******");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("****", $con);
$query = "SELECT Camera FROM T_Bookings";
$result = mysql_query($query) or die ("no query");
$result_array = array();
while($row = mysql_fetch_array($result)) {
$result_array[] = $row;
}
$fixed_array = array_keys($result_array);
if (in_array($_POST[camera],$result_array)){
$x = 1;
$y = 2;
}
if($x + $y == 3){
echo "Camera already booked!";
}
else {
mysql_query("INSERT INTO T_Bookings (F_Name, L_Name, Camera, Bag, Cable, Tripod, MemoryCard, Date, Authorised)
VALUES ('$_POST[firstname]','$_POST[lastname]','$_POST[camera]','$_POST[bag]','$_POST[cable]','$_POST[tripod]','$_POST[memory]','$_POST[date]',)");
echo "1 record added";
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
}
mysql_close($con);
?>
ただし、これらの条件が満たされていない場合でも、一貫して予約を行っています。これはなぜですか?ありがとう、デイン。