代码有什么问题吗?仅当给定时间段内不存在记录时,我才需要允许新条目。就像数据库中是否存在 1-1-19 到 3-1-19 一样,该日期范围的新条目不应发生。
<?php
if (isset($_POST['book'])) {
require 'db2.php';
$name=$_POST['name'];
$mail=$_POST['emial'];
$mob=$_POST['phone'];
$ddr=$_POST['add'];
$d11=$_POST['date'];
$d12=$_POST['date2'];
$selected_val=$_POST['type'];
if (empty($name)||empty($mail)||empty($mob)||empty($ddr)||empty($d11)||empty($d12)||empty($selected_val)) {
header("Location: ./booking.php?error=emptyfield");
exit();
}
elseif (!filter_var($mail, FILTER_VALIDATE_EMAIL)&& !preg_match("/^[a-zA-Z]*$/",$name)) {
header("Location: ./booking.php?error=entervalidnaneoremail");
exit();
}
elseif (!preg_match("/^[0-9]*$/", $mob)) {
header("Location: ./booking.php?error=invalidphone");
}
else {
$sql="SELECT * FROM book WHERE d1>'$d11' OR d2<'$d12'";
$result=mysqli_query($conn,$sql);
$row=mysqli_fetch_row($result);
echo $row;
if ($row>0) {
header("Location: ./booking.php?error=Takendate");
exit();
}
else {
$sql="INSERT INTO book(name, email, no, adr, d1, d2, type) VALUES('$name','$mail','$mob','$ddr','$d11','$d12','$selected_val')" ;
mysqli_query($conn,$sql);
}
}
}
?>
最佳答案
我认为你应该使用AND
而不是OR
。
关于php - 查找两个不同列中的两个日期之间是否存在条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54275219/