使用下面的代码,我无法检查MySQL'date'列中是否存在指定的日期。如何检查MySQL'date'列中是否存在特定日期?
$data = array(1367971200);
$s=$dbh->prepare("
SELECT DISTINCT
`date`
FROM
`report_coa_bal_hist`
WHERE
UNIX_TIMESTAMP(`date`) = ?
");
if ($s->execute($data)) {
if ($s['date'] == null) {
return false;
}
return true;
}
它返回false,尽管事实上,我可以看到在phpMyAdmin中显示的日期“2013年5月8日”。
该表本身包含该日期的70多个条目。它总是会做,如果它包含任何东西,但我只想知道它在现阶段是否存在。
日期字段是MySQL'日期'类型。我怀疑这个错误是在我构建查询的PDO调用时发生的。
UPDATE
更新$r['date']
到`$ S [ '日期']。我怀疑,我仍然有一个问题的结构,但可能需要修复查询,使它给我们的结果,然后再着重于此。
也尝试直接对数据库运行查询并获得空结果集,尽管能够看到目标日期存在。仍然很困惑!
你是否试过直接对数据库运行查询? – 2013-05-08 07:05:11
'$ r ['date']'或'$ s ['date']' – 2013-05-08 07:06:02
哪里'$ r ['date']'甚至来自? – BlitZ 2013-05-08 07:07:06