Я пытаюсь предотвратить дублирование из моей системы бронирования, с конкретной комнатой и между стартом и окончанием бронирования, вот форма, которую я начал, и кто-то помог мне с ограничением:
Запретить ввод даты и времени в базу данных
теперь я пытаюсь реализовать ограничение, но я получаю функцию ошибки execute на boolean ().
Идея ограничения должна быть реализована при отправке, чтобы проверить, будут ли введенные даты в форме, зарезервированной для той же комнаты, или нет, если она зарезервирована, вернется 1.
Вот мой PHP:
<?php session_start(); include('includes/config.php'); include('includes/checklogin.php'); check_login(); $username = $_SESSION['username']; //code for add courses if($_POST['submit']) { $officename=$_POST['officename']; $roomname=$_POST['roomname']; $startdate=$_POST['startdate']; $enddate=$_POST['enddate']; $stmt1 = $mysqli->prepare("select count(1) as counter from reservations where roomname = ? and startdate = ? between resstart and resend"); $stmt1->execute(); $stmt1->bind_result($roomname,$startdate); $stmt1->fetch(); $query="insert into reservations (officename,roomname,resstart,resend,resuser) values(?,?,?,?,?)"; $stmt = $mysqli->prepare($query); $stmt->bind_param('sssss',$officename,$roomname,$startdate,$enddate,$username); if($stmt->execute() && $stmt1 == 0){ echo"<script>alert('Your Reservation Has Been Added Successfully');</script>"; }else{ echo"<script>alert('Warning! You cannot Reserve this appointment');</script>"; } } ?>