以下のコードがあります。なんらかの理由で2016年のイベントしかリストされていません.2017年に終了するイベントに入れた瞬間、それは表示されません。PHP/MySQLiコード現在の年のイベントのみを表示し、将来の年を無視するコード
理由は何ですか?
$currentdate = date('m-d-Y');
$events_call = $eventsdb->query("
SELECT * FROM events WHERE start <= '". $currentdate ."'
AND (end >= '". $currentdate ."' OR end = 0) ORDER BY end ASC");
私はmm-dd-yyyy形式で書式設定しています。例:11-18-2016
'start'と' end'のデータ型は何ですか?それが 'DATE'の場合、そのフォーマットは' MM-DD-YYYY'ではなく、 'YYYY-MM-DD'です。 – simon
それはちょうどvarchar(11)データ型です。開始日は11-17-2016で終了日は01-01-2017です。 – KDJ
日付に 'VARCHAR'を使用しないと、この場合は文字列比較が失敗します。 'DATE'または' DATETIME'を使用してください – simon