0

mysql データベースを利用する演習として、単純なイベント php スクリプトを作成しています。将来のすべてのフェスティバルを日付別にリストしようとしていますが、フェスティバルはリストされていません。

$nowdate_? 変数は、今日の日、月、および年です。

SELECT   * 
FROM     Festivals
WHERE    startdate_y <= " . $nowdate_y . " 
AND      startdate_m >= " . $nowdate_m . "
AND      startdate_d > " . $nowdate_d . "
ORDER BY startdate_y asc,startdate_m asc,startdate_d asc 
LIMIT    0,15

クエリでこれに間違ってアプローチしていますか?

前もって感謝します

4

1 に答える 1

0

部分的に日付を比較することはできません。

あなたが必要

WHERE DATE_FORMAT(
          STR_TO_DATE(
              CONCAT_WS('-', startdate_y, startdate_m, startdate_d),
              '%Y-%m-%d'),
          '%Y-%m-%d')
      > CURRENT_DATE

上記の式は、日付フィールドの正確な内容によっては、少し修正が必要になる場合があります。

于 2013-03-29T23:09:51.463 に答える