0

これから数日をピックアップするクエリを実行しようとしています。基本的に、今日、明日など。

これが私のコードです。

$dateNow = date('Y-m-d');

$where .= ' AND `mb_sanctions`.`StartDate` > \'$dateNow\'';

開発者ツールで変数を取得し続けます。どこが間違っているのでしょうか。

4

4 に答える 4

2

日付列であると仮定stardateして、次を使用しないのはなぜですか。

$where .= ' AND `mb_sanctions`.`StartDate` > now()';
于 2012-08-08T13:08:37.477 に答える
2

私はあなたの質問は次のようにすべきだと思います:

$where .= ' AND `mb_sanctions`.`StartDate` > ''' . $dateNow . '''';

日付を文字列に連結していないため、結果として$ datenowを返し、その変数のリテラルを返します。

于 2012-08-08T13:08:39.640 に答える
2

代わりに、これを試すことができます:

$where .= ' AND `mb_sanctions`.`StartDate` > CURRENT_DATE';
于 2012-08-08T13:08:45.547 に答える
2

そのために使用できますDATE_ADD( )、例:

DATE(DATE_ADD(CURDATE(),INTERVAL 1 DAY))

上記のクエリは、明日の日付を出力します。

DATE_ADD()に関するこのリンクの詳細

または、次のようにすることもできます。

$where .= ' AND DATE(`mb_sanctions`.`StartDate`) > DATE(CURDATE())';
于 2012-08-08T13:08:48.817 に答える