php - 检查数据库中日期之间的日期

标签 php mysql

问题是这样的:

我想检查我的日期是否介于数据库中的所有日期之间。 这是我的代码:

if ($result = $con->query("SELECT `r_id` FROM `reservation` WHERE $cid BETWEEN `r_start` AND `r_ende` ")) {

    $r = mysqli_fetch_assoc($result);

    }

$a=0;

    if($r>$a)
    {
        $message = "Your Startdate lies in an already booked span.";
        echo "<script type='text/javascript'>alert('$message');</script>";
        echo "<script>window.location='reservation.php';</script>";
    }

我的数据库是这样的

r_id    r_start     r_ende
   9    0004-01-24  0004-06-02
   8    0004-01-23  0004-06-02

$cid 是我的开始日期,它有效且正确。

它应该获取它位于时间跨度之间的行的 r_id。 随着 ID 的计数,它总是大于 0,所以如果 $r 匹配,它大于 0 并显示错误。 因此,如果我的 $cid 类似于 0004-01-25,它应该会收到消息,因为 $r 是 9 还是 8?但它没有.. 当我 print_r($result); 我得到 mysqli_result Object ( [current_field] => 0 [field_count] => 1 [lengths] => [num_rows] => 0 . 对于 print ($r); 没有任何显示。

有人可以帮助我吗?

最佳答案

因为@ChandraKumar 不会说出你的错误是什么,所以我会。

通过不将日期括在引号中,MySQL 会将其视为数学公式。

0004-01-24 = 4 - 1 - 24 = -21

您需要将您的日期用引号引起来,此时 MySQL 将认为它是一个字符串,并且由于您检查日期列,它将把它解释为一个日期。

关于php - 检查数据库中日期之间的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45535955/

相关文章:

php - 无法在 MySQL 表中插入行

php - 从 Wordpress 的媒体库中检索特定图像

php - 取消Axios请求时如何在Laravel中停止php脚本?

php - 在 HTML 下拉 <select> 列表中显示数据库表值

php - 如果我想从两个表中获取数据,最佳做法是什么?

php - 如何在 PHP 中显示唯一的数组值

php - 无法访问复制到/var/www/或其他文件夹中的 php 文件

PHP XML 到 mysql 数据库

MySQL:一个简单的正则表达式没有按预期工作

java - Apache Shiro 中的初始化异常错误