|
|
|
| Здравствуйте !
При подтверждении регистрации обработчик получает данные :
$session = $_GET['session'];
|
В начале скрипта есть запрос :
$query_del = "DELETE FROM users WHERE session = 'NOT NULL' AND regtime < NOW() - INTERVAL '1' MINUTE"; // минута для тестирования
| далее
Если подтверждение во время. то формируем запрос :
&query = "UPDATE users SET session = 'NULL' WHERE session = '$session'";
|
так вот запрос на удаление устаревших данных не проходит...
помогите.
Что не так в запросе "DELETE..."?
Столбец в таблице по умолчанию НЕ имеет NOT NULL...
Спасибо ! | |
|
|
|
|
|
|
|
для: mehelson
(23.02.2007 в 10:23)
| | Какую ошибку возвращает DELETE-запрос и какова структура таблицы users (её можно получить при помощи оператора SHOW CREATE TABLE).
PS NULL и NOT NULL не следует заключать в кавычки - всё что в кавычках - это обычные строки. | |
|
|
|
|
|
|
|
для: cheops
(23.02.2007 в 12:03)
| | Ошибки нет. Просто нет результата. Кавычки проблему не решили.
Структура таблицы: (
`id_user` int(11) NOT NULL auto_increment,
`name` tinytext,
`passwd` tinytext,
`email` tinytext,
`regtime` datetime default NULL,
`session` tinytext,
PRIMARY KEY (`id_user`)
) ENGINE=MyISAM AUTO_INCREMENT=32 DEFAULT CHARSET=cp1251 | |
|
|
|
|
|
|
|
для: mehelson
(23.02.2007 в 13:02)
| | Используйте лучше пустую строку в качестве критерия
$query_del = "DELETE FROM users
WHERE session != '' AND regtime < NOW() - INTERVAL '1' MINUTE"; // минута для тестирования
query = "UPDATE users SET session = '' WHERE session = '$session'";
|
| |
|
|
|
|
|
|
|
для: cheops
(23.02.2007 в 14:39)
| | Да, действительно. Данке Вам шон.
Подскажите еще, пожалуйста, как можно проверить прошло удаление или нет? т.е. не то что запрос удался, а именно удалилась ли запись. | |
|
|
|
|
|
|
|
для: mehelson
(23.02.2007 в 20:14)
| | Количество затронутых (удалённых) записей вернёт функция mysql_affected_rows(). | |
|
|
|