Почему не работает UPDATE?
1267 сообщений
#17 лет назад
Цитата ("alibek"):Ерунда, нельзя дропнуть активную базу данных.
Хотя от MySQL всего можно ожидать.
Проверил на локалхосте, дропает базу и удаляет все таблицы. Мб это из-за пхпмайадмина, но думаю это вполне возможно. Главное условие вставки не давать зацыкленным, чтобы во время удаления не было добавлений записей
1895 сообщений
#17 лет назад
Добавлю немного уважаемого Zionit, с его позволения)Чтобы такое условие всегда гарантировано выполнялось надо юзать транзакции, на пальцах это не обьяснить но если по кароче, то надо формировать специльный запрос, где он начинается со слов: open transaction , и заканчивается на close transaction, в синтаксисе конечно могу заблуждатся, непомню точно как, потому что юзаю хранимки, а они всегда выполняются в транзакции, и парится по этому поводу ненадо, все что выполняется между этими операторами выполняется пока не выполнится до конца не даст другим запросам работать паралельно, хорошо развит механизм блокировки транзакций только в MSSQL и Oracle, как он реализован в мускуле чтото даже и не помню) Кстати ещё один повод выбросить глупую затею юзать СУБД с прямими запросами, жаль что в ПХП все так плохо по этому поводу)
П.С. Эх... когда уже добавят поддержку хранимок в ПХП,... глаза режет(((
1267 сообщений
#17 лет назад
Да у меня вообще было подозрение, что возможно зацыклить и без транзакций))) Это обычная теория, её нужно равивать... ничего не проверял и не гарантирую...SHOW TABLES WHERE (DROP TABLE `Tables_in_имя базы`);
1267 сообщений
#17 лет назад
Не, не работает 
Пример процедуры:
CREATE PROCEDURE dowhile()
BEGIN
DECLARE v1 INT DEFAULT 5;
WHILE v1 > 0 DO
...
SET v1 = v1 - 1;
END WHILE;
END
Я уверен, что с полными правами можно натворить много чудес с базой. У себя на сервере прав скриптам даю минимум, чтобы даже если и будет скл инжекшн, то максимум - забивание таблиц мусором\кража данных, а не удаление таблиц или баз целяком...
22 сообщения
#17 лет назад
Цитата ("voral"):Мдааа суровый код......
Вообще говоря если закрыть глаза на прочие ошибки и ответить только на вопрос выдвинутый в тему. Есть очень полезная функция mysql_error()...... Она может много чего интересного рассказать....
Функция mysql_error() вернет отсутствие ошибки, так как синтаксической ошибки нету. Единственное что id действительно не долетает.
Думаю если сделать
$id=stripslashes($_REQUEST);
то должно заработать
А так запрос выглядит подобным образом : UPDATE запрос WHERE id=0
А скорее всего поля с id=0 нету или оно его обновило а ті сморишь свой айди
276 сообщений
#17 лет назад
Цитата ("AVD_studio"):
Функция mysql_error() вернет отсутствие ошибки, так как синтаксической ошибки нету. Единственное что id действительно не долетает.
Хм. Ну так не mysql_error() единой жив программист. Если происходит лабуда с запросами надо все выводить на экран для анализа:
$query="........";
mysql_query($query);
print "$query<br>".mysql_error();
все урезано, но смысл я думаю ясен....
А иначе можно много времени в пустую убить, сделал в первую очередь это, а там уж танцуешь. По крайней мере бы автору темы уже не пришлось бы стоздавать ее с таким заголовком. Не так ли?
1267 сообщений
1267 сообщений
#17 лет назад
Цитата ("AVD_studio"):
$id=stripslashes($_REQUEST);
$id=(int) $_REQUEST;
if(!mysql_query(....))
{
.....mysql_error()....
}
elseif(mysql_affected_rows() < 1) exit("Изменения не произведены, записи с ID = {$id} не существует");
else
{
echo "OK";
}
22 сообщения
#17 лет назад
Voral - Выводить в экран запрос - 99% нахождения ошибки сразу.Это конечно правда.
1267 сообщений
#17 лет назад
Цитата ("AVD_studio"):Voral - Выводить в экран запрос - 99% нахождения ошибки сразу.
Это конечно правда.
Написать собственный обработчик ошибок для запросов это тоже круто

73 сообщения
#17 лет назад
Ого! Большой топик! Спасибо ребята, я исправил ошибку но ржал долго пока до конца дочитал 
276 сообщений
#17 лет назад
Цитата ("ezdorov"):Спасибо ребята, я исправил ошибку но ржал долго пока до конца дочитал
Интересно по какому поводу....
73 сообщения
#17 лет назад
Искал то место что вызвало у меня улыбку но не могу найти, voral тебя интересует юмор? Я могу дать пару ссылок
1267 сообщений
#17 лет назад
Интересует как можно смеяться с людей, которые Вам пытаються помочь... Больше помогать желания нету...