php - 查找两个不同列中的两个日期之间是否存在条目?

标签 php mysql

代码有什么问题吗?仅当给定时间段内不存在记录时,我才需要允许新条目。就像数据库中是否存在 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/

相关文章:

TOMCAT 6 中的 PHP - 异常

php - 在同一页面中组合特定页面样式和全局样式时的性能

php - 当变量未硬编码时,functions.php 脚本会中断

php - 如何使图像按钮运行 PHP 脚本?

php - 在 MeekroDB 中是否有任何正确的方法来转义没有括号的数组?

mySQL 一个更优雅的查询,匹配一些(不是全部)条件

php - 使用 alter table 更改日期格式

php - 在do…while循环中,允许的内存大小为134217728字节,已用尽(尝试分配31989760字节)

html - MySQL 存储大型 WYSIWYG 字段(例如 140668 个字符)的最佳方式

jquery - 动态图表 php 未将数据发送到 $.getJSON ("", function(){})