これから数日をピックアップするクエリを実行しようとしています。基本的に、今日、明日など。
これが私のコードです。
$dateNow = date('Y-m-d');
$where .= ' AND `mb_sanctions`.`StartDate` > \'$dateNow\'';
開発者ツールで変数を取得し続けます。どこが間違っているのでしょうか。
日付列であると仮定stardate
して、次を使用しないのはなぜですか。
$where .= ' AND `mb_sanctions`.`StartDate` > now()';
私はあなたの質問は次のようにすべきだと思います:
$where .= ' AND `mb_sanctions`.`StartDate` > ''' . $dateNow . '''';
日付を文字列に連結していないため、結果として$ datenowを返し、その変数のリテラルを返します。
代わりに、これを試すことができます:
$where .= ' AND `mb_sanctions`.`StartDate` > CURRENT_DATE';
そのために使用できますDATE_ADD( )
、例:
DATE(DATE_ADD(CURDATE(),INTERVAL 1 DAY))
上記のクエリは、明日の日付を出力します。
または、次のようにすることもできます。
$where .= ' AND DATE(`mb_sanctions`.`StartDate`) > DATE(CURDATE())';