我正在獲取數據庫中的掃描計數。時間字段是一個MySQL時間戳(2011-10-20 14:15:12)。我有一個功能,可以讓我設置一個30天,60天等時間框架......這是工作數週。然後我只注意到它破裂了。PHP Mysql獲取日期範圍的統計信息
function getScans($timeframe = 0)
{
if ($timeframe != 0) {
$query = 'SELECT COUNT(*)
FROM stats
WHERE time <= curdate()+1
AND time >= curdate()-' . ($timeframe - 1);
} else {
$query = 'SELECT COUNT(*)
FROM stats';
}
$result = mysql_query($query);
$row = mysql_fetch_array($result);
return $row[0];
}
我知道你們都聽過這個,但是這是上週完全有效的。我今天回去了,注意到當$ timeframe不是0時,它不再有效。任何幫助表示讚賞。
從該代碼示例看起來您的代碼中有語法錯誤。你在else之前有一個額外的單引號。 – liquorvicar
如何調用getScans()?你在30天的時間內使用30(看起來合理,只是雙重檢查)。 – zrvan
上週有什麼變化?服務器更新?數據加載?有什麼事情必須引發失敗? – ManseUK