我的問題與[this] [1]類似,但提供的解決方案對我無效。 我有一個數據庫,我有一列名爲birth
,其中包含格式爲year-day-month 00:00:00
的日期。現在我想從DB中提取出現在兩個日期之間的所有記錄。 的birth
值已被插入DB與此代碼mysqli準備好的語句與條款之間
$date = $day . "-" . $month. "-" . $year;
$a = strptime($date, '%d-%m-%Y');
$DB_date = date('Y-m-d H:i:s',mktime(0, 0, 0, $a['tm_mon']+1, $a['tm_mday'], $a['tm_year']+1900));
要提取我使用此代碼日期:
$stmt = $conn->prepare('SELECT * FROM database WHERE `birth` BETWEEN ? AND ?');
$start_date = '1990-01-01';
$stop_date = '1995-01-01';
$stmt->bind_param('ss',$start_date,$stop_date);
$stmt->execute();
$result = $stmt->get_result();
,但沒有找到任何如此$result->num_rows
等於0
它不會給出任何錯誤,所以問題必須在日期的比較中。
你可以從你的表中顯示一些示例數據嗎? (順便說一句:爲什麼ydm而不是iso標準的ymd,它具有可排序的優點,而不會讓人困惑? –
是DATETIME類型的列出生a,或者它只是一個VARCHAR列,您可以在其中存儲那種格式的日期? –
@GeraldSchneider'birth'的類型是'date' –