使用下面的代碼,我無法檢查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