[英]Display records in current month, using php and a mysql db
我試圖從時間戳列中顯示當前月份的記錄。 這是我的代碼
$query = "SELECT
donationid
FROM
donation
ORDER BY
donationid
WHERE
MONTH(donatedon) = MONTH(CURRENT_DATE())";
$query_run = mysqli_query($conn, $query);
$row = mysqli_num_rows($query_run);
echo '<h1>'.$row.'</h1>';
您沒有檢查年份,因此您將返回任何年份當前月份的記錄,而不僅僅是當前月份。
測試列的函數會阻止使用索引來優化查詢。 如果可能,最好使用關系比較。 您可以簡單地為當月的開始創建一個格式化的日期。
您也將ORDER BY
放在錯誤的位置,它必須在WHERE
子句之后。
SELECT donationid
FROM donation
WHERE donatedon >= DATE_FORMAT(CURRENT_DATE(), '%Y-%m-01')
ORDER BY donationid
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.