我的表格中有一些[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');
我想要的是能够查询今天插入数据库的所有数据。
答案 0 :(得分:0)
我不知道它是否适用于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进行比较(简单的"其中"语句应该这样做)。
(使用codeigniter语法)
$ this-> db-> where(' date',$ date);
答案 1 :(得分:0)
您可以使用此功能,尚未测试过。
<?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
}
}
?>
确保替换所有columnNames和tablename。 编辑: - 这是与我的第一个解决方案有关的sqlfiddle。 http://sqlfiddle.com/#!9/7c2f1/3