0

タイムスタンプフィールドを以前に選択した日付と比較するために使用するこのコードがあります! しかし、構文でエラーが発生します..どうやって?

$query = sprintf( 'SELECT * FROM coupon WHERE date("Y-m-d", "time") = $date' );

エラーは次のとおりです。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' "time") = $date' at line 1

一方、フィールド時間であるタイムスタンプと$date 事前に感謝する日付を比較しています..

4

2 に答える 2

1

time文字列リテラルではなくフィールド参照であるため、引用符で囲む必要はありません。

$query = sprintf('SELECT * FROM coupon WHERE DATE(time) = $date');

注: SQL インジェクションの影響を受けやすくなっています。

于 2012-11-12T22:28:39.833 に答える
0

PHP関数を混同しました

date ( string $format [, int $timestamp = time() ] )

そしてMySQL関数。

DATE( expr )

それぞれのマニュアル エントリを参照してください。

http://php.net/manual/en/function.date.php

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date

于 2012-11-12T22:52:53.137 に答える