我有一些数据在我的表是[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 ->(日期,日期)美元;