0

次の 7 日以内に有効期限が切れるドメインをチェックする自動チェッカーがあり、顧客に電子メールを送信します。

このSQLクエリを使用しています:

SELECT * from domain_names where status = '' or status = 'valid' and expiry_date = DATE(NOW() + INTERVAL 7 DAY)

しかし、正しく動作していません。正確に 7 日後の expiry_date を持つ行をチェックする必要があります。また、チェッカーが実行を停止し、実行されていない間に一部の行が欠落している場合は、それらの行も実行する必要があります

4

6 に答える 6

0

チェッカーが実行を停止している間に見逃された行を通知する必要がある場合は、追加のタグを使用して、ドメインが通知されたかどうかを示す必要があります。その後、現在より前の日付 + 7 日を含むすべての行を選択し、「アドバイスなし」としてタグ付けする必要があります。電子メールタグを送信した後、「アドバイス済み」としてタグ付けします。そして、彼らがドメインタグを「アドバイスしない」として更新し直すとき。

于 2013-06-28T14:38:33.147 に答える
0

and/or条件で括弧を使用する必要があります

SELECT * from domain_names 
where (status = '' or status = 'valid')
and expiry_date = curdate() + INTERVAL 7 DAY

またはinあなたの場合に使用します

SELECT * from domain_names 
where status in ('', 'valid')
and expiry_date = curdate() + INTERVAL 7 DAY
于 2013-06-28T14:23:43.120 に答える
-4
$date=date('Y-m-d');
$date=date('Y-m-d', strtotime($date . ' + 7 day'));


//Now, use this query.

SELECT * from domain_names where status = '' or status = 'valid' and expiry_date = '{$date}';
于 2013-06-28T14:23:14.187 に答える