使用pdo从mysql检索今天的日期数据


Retrieving today date data from mysql using pdo

我有一些数据在我的表是[name][address][phone_number]和日期在这种格式2015-10-14 14:37:38。我正在使用php PDO。如何从表中查询出今天的日期?

下面的代码是我的代码,以查询出的结果在过去的7天,工作完美。但是,每当我将它替换为1时,它就不起作用了:

$query = $digital->query('SELECT * FROM sales WHERE `datetime` BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) AND NOW() ORDER BY sale_id DESC'); 

我想要的是能够查询出所有今天的数据插入到数据库

你可以用这个,还没有测试过。

<?php
$todaysDate = date('Y-m-d'); //if your date is stored in y-m-d format
        try
        {
            $s = $conn->query("SELECT * from sales where datetime LIKE '%$todaysDate%'");
        }
        catch(PDOException $e)
        {
            echo $e->getMessage();
        }
        $results = $s->fetch(PDO::FETCH_OBJ);
?>

您的查询结果现在在$results变量中。

扩展版本

    <?php
try
        {
            $s = $conn->query("SELECT * from sales");
        }
        catch(PDOException $e)
        {
            echo $e->getMessage();
        }
    while($results = $s->fetch(PDO::FETCH_OBJ))
    {
        $date = explode(" ", $results->datetime);
        if($date[0] == date('Y-m-d'))
        {
            //write code here to display data
        }
    }
?>

确保替换了所有的columnname和tablename。编辑:下面是与我的第一个解决方案有关的sqlfiddle。http://sqlfiddle.com/!9/7c2f1/3

我不知道它是否适用于PDO,因为我不是很熟悉它,但我用var传递日期,然后在我的sql语句中请求匹配

// choose your own timezone here
date_default_timezone_set('America/Sao_Paulo');
// then define your variable as the current time:
$date = date("Y-m-d H:i:s");

然后,我会使用正确的PDO语法来比较列与var(一个简单的"where"语句应该做到这一点)。

(使用codeigniter语法)

$ this -> db ->(日期,日期)美元;