php - mysql如何判断两个日期是否相等

标签 php mysql

我正在尝试获取 ID 和日期匹配的行数。我已经在 mysql 中运行了这个查询,它工作正常

SELECT COUNT(*) FROM table WHERE Id = '587762' && RequestDate = '2017-03-10'

但是在 php 中执行时它没有返回所需的结果。这是我的 php 文件

    <?php
    $pdo = new PDO('mysql:host=localhost;dbname=personDB','root','');
    if($_SERVER['REQUEST_METHOD'] == 'GET'){
        $Id = $_GET['ID'];
        $date = date("Y-m-d", strtotime($_GET['date']));
        $row_count = $pdo->query("SELECT * FROM table WHERE Id = '$Id' AND RequestDate = '$date'")->fetchColumn();
        if($row_count > 0){
            $response = false;
            header('Content-Type: application/json');
            echo json_encode($response);
        }
        else{
            $response = true;
            header('Content-Type: application/json');
            echo json_encode($response);
        }
    }
    ?>

RequestDate 没有时间部分。我正在 postman 中检查它并给出已经存在的值它应该返回 false 但它总是返回 true。

最佳答案

我认为您使用的是字符串类型而不是日期类型。使用 strtotime() 将字符串转换为日期类型

试试这个:

$date = strtotime($_GET['date']);

关于php - mysql如何判断两个日期是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42555090/

相关文章:

php - 如果使用 PHP 则跳过 parent

mysql - Rails 上的 ruby : Creating models from existing database?

mysql - 本地 MySQL 到 azure MySQL 数据库之间的镜像?

php - laravel查询绑定(bind)使用“<”或“>”失败

php - 函数的含义

php - 使用 CodeIgniter 在表中显示数组结果时出现问题

php - PDO 扩展用于 CRUD 查询和 fatal error

php - 如何为具有 HTTPS 的子域设置 php.ini 和 session.php 的变量以使用共享 session ?

mysql - mysql 中的游标错误语法

mysql - Ruby 循环将事物添加到一起