私の要件は、データベースの列の1つに従って、現在の時刻からわずか5分しか残っていないmysqlデータベースからレコードをプルすることです。列にはユーザーが日時を挿入しています。
date_default_timezone_set("UTC");
$utc_time = date("Y-m-d H:i:s", time());
echo "UTC Time: " . $utc_time . "<br>";
$result = mysql_query("select reminder_text, reminder_subject, reminder_date_time_utc $table_name where (TIME_TO_SEC (TIMEDIFF(reminder_date_time_utc , '$utc_time')) < 300) AND (TIMEDIFF(reminder_date_time_utc , '$utc_time')) > 0) ") or die(mysql_error());
ここで、TIMEDIFF関数内のreminder_date_timeは、DATETIMEを取得するための列名です。このクエリを使用しても結果は得られませんが、reminder_date_time の代わりに日付を配置すると、正しい出力が得られます。たとえば、TIMEDIFF('2013-07-12 11:05:00' , '$utc_time') と言うと、正しい出力が得られます。そして、この同じ値: 2013-07-12 11:05:00 は、この列の行の 1 つに実際に存在します。
私が間違っているアドバイス... TIMEDIFF 関数は、列名をパラメーターの 1 つとして受け入れませんか。