автоматически выполняющийся запрос mysql от php не работает - PullRequest
0 голосов
/ 06 марта 2012

Я бы хотел автоматически выполнить следующий скрипт PHP, чтобы автоматически удалить строку в таблице через 3 дня.Тем не менее, сценарий, кажется, не работает, даже если запрос уже дает правильный результат.Я пытался запустить его вручную, и это тоже сработало.Я не уверен, правильно ли я написал скрипт, но вот код:

<?php
require_once('../../resources/db_connect.php');
$query = "DELETE FROM user_orders WHERE date_order < DATE_SUB(CURDATE(), INTERVAL 3 DAY) AND ID_status_order = 1";
$result = @mysql_query($query); 
?>

Я использую xampp в Windows.Я пытался выполнить его через планировщик задач Windows, но я не думаю, что он работает.Любая другая идея?

Ура

Ответы [ 3 ]

0 голосов
/ 06 марта 2012
echo mysql_query($query) or mysql_error()
0 голосов
/ 06 марта 2012

Вы не проверяете ошибки, а с @ перед командами даже активно подавляете ошибки.Используйте это, чтобы проверить наличие ошибок в вашем запросе или подключении к базе данных:

mysql_query($query) or die(mysql_error());

Если вы хотите проверить свой запрос, но не хотите, чтобы он все удалил, добавьте к нему еще одно условие:

... AND 1=0

, что всегда ложно, поэтому ничего не удаляется.MySQL все равно проверит ваш запрос и выдаст вам ошибки, если, например, некоторые поля или таблица неизвестны.

0 голосов
/ 06 марта 2012

Ошибки сокрытия недостаточно хороши.Попробуйте и удалите @ сначала и посмотрите, какие ошибки у вас возникли.Вернись и дай ошибки.

...