php - 如何查找特定日期是否位于数据库中的两个日期之间?

标签 php mysql date

<?php

 $hostname = "localhost";
 $db_user = "root";  
 $db_password = "";  
 $database = "rentcar";  
 $db_table = "reservation"; 

 $db = mysql_connect($hostname, $db_user, $db_password); 

 mysql_select_db($database,$db);

 $date1 = $_POST['datepicker1'];

 $date2 = $_POST['datepicker2'];


 $start_date = strtotime($date1);

 $end_date = strtotime($date2);

 $query  =  mysql_query("SELECT * FROM reservation WHERE  ('pudate'>".$start_date." AND         
 'dodate'<".$end_date.") OR ('pudate'<".$start_date." AND 'dodate'>".$end_date." ) OR 
  ('pudate'<".$end_date." AND 'dodate'>".$end_date.") OR ('pudate'<".$start_date." AND 
  'dodate'>".$start_date." )");

 $result = mysql_query($query); 

  if ($result) 

 {
   echo "vehicle is available";
 }

 else
 {
 echo "vehicle is not available";    

  }

 ?>

pdate 和 dodate 是数据库中的日期。 当我尝试运行时,它总是显示输出,因为车辆不可用。我正在运行查询,检查这两天之间汽车是否已经预订,如果汽车已经预订,它会说汽车不可用,但无论我如何尝试运行查询,它总是给我相同的结果。

最佳答案

您未能获取查询的实际结果。实际上,您调用了 mysql_query() 两次(返回一个句柄)。在您的情况下,使用 mysql_num_rows() 来获取行数,这应该告诉您车辆是否可用。

关于php - 如何查找特定日期是否位于数据库中的两个日期之间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17712332/

相关文章:

mysql - SQL - 内连接表上的复合索引?

MySQL Connector/Net 不适用于 Mac 上的 Mono

mysql - 使用 Laravel 查询 sql 中的 json 列

r - 使用 R 和 lubridate 生成时间序列

date - 在 MDX (SSAS) 中创建日期

php - MYSQL查询大于和小于

php - Cakephp 3 - 从数据库中减去一个值

php - 如何在 php 和 mysql 中发布数据以使用 for 循环插入多次(行)

php - 如何在 Joomla 中通过文章 ID 获取文章文本?

mysql - 只选择昨天的日期,日期格式很奇怪