MySQL выбирает строки ровно 7 дней назад

Я полностью озадачен этим, пытаясь часами, но безуспешно, надеясь, что кто-то может помочь. Попытка создать скрипт cron для ежедневного запуска, который возвращает строки, которые на 7 дней старше текущей даты.

Дело в том, что мой запрос ничего не возвращает. Никаких сообщений об ошибках, ничего (я знаю, что в БД есть записи за последние 7 дней - мы получаем около 7000 новых записей в день, так что они есть!) Я пробовал SELECT * и успешно выводил дату редактирования , так что все работает, кроме моего SQL-скрипта.

Столбец, на который я ссылаюсь (edit_date), имеет тип «datetime», сформированный с помощью Y-m-d h-m-s. Этот столбец всегда имеет значение даты и времени, назначенное как при создании, так и при редактировании.

function get_ad_sql($table){
    $sql = "SELECT 
                * 
            FROM 
                ".$table." 
            WHERE 
                edit_date = DATE_SUB(NOW(), INTERVAL 7 DAY)
            ";  
    return $sql;
}

И вызов функции и «попытка» повторить первичный_ключ:

$sqlAng = get_ad_sql('angebote');
$result = mysql_query($sqlAng);
while($row = mysql_fetch_array($result)){
    echo $row['primary_key'];
}

Я пробовал все варианты DATE_SUB (NOW (), INTERVAL 7 DAY), включая CURDATE (), DATE_FORMAT (edit_date, '% m / % d /% Y '), которые я мог найти здесь и в Интернете, но не мог заставить ничего работать. Надеюсь, кто-нибудь может мне помочь!

20
задан Tim Blackburn 13 October 2011 в 15:39
поделиться