[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с записью в БД
rooor
Здравствуйте.

Не знаю что происходит, подскажите хотя бы возможные причины такого поведения...
Код:
if(isset($_POST['id']))
{
mysql_query("UPDATE `table`
SET `id_nick` = '"
.(int)$_SESSION['id_nick']."'
WHERE `id` = "
.(int)$_POST['id']);
}

В таблице около 1000 записей, из них 15 - с пустой ячейкой id_nick
$_SESSION['id_nick'] не пустой точно.

В общем, при выполнении запроса иногда не записывает id_nick из $_SESSION, каких-либо закономерностей не нашёл, запись была в разное время, разными людьми. Если есть 2 записи одного и того же человека в одно и то же время, то может быть так, что первая запись будет с id_nick, а вторая пустая...



Спустя 6 минут (27.02.2012 - 00:10) nugle написал(а):
Вроде когда where пишешь, то значение должно быть в кавычках. Если не получится, то выведи сам запрос и напрямую в бд забей

Спустя 4 минуты, 48 секунд (27.02.2012 - 00:15) rooor написал(а):
nugle
ну так запись-то идёт, строка в базе обновляется, не записывается только эта ячейка.

ЗЫ: UPDATE проходит по нескольким ячейкам, тут в запросе я указал только ту, с которой возникает проблема

Спустя 4 минуты, 29 секунд (27.02.2012 - 00:19) nugle написал(а):
Я тебе говорю, выводи запросы и смотри, тут не может быть паранормальных явлений

Спустя 6 часов, 12 минут, 36 секунд (27.02.2012 - 06:32) Guest написал(а):

Спустя 1 час, 21 минута, 2 секунды (27.02.2012 - 07:53) rooor написал(а):
Началось всё с 14 февраля, скрипт не изменял...до 14 всё было нормально, после - вообще не понятно что происходит...
Может 14 на сервере какие-то обновления провели... пых или sql
Пойду погуглю, мож где ещё есть подобное

Спустя 18 минут, 59 секунд (27.02.2012 - 08:12) Игорь_Vasinsky написал(а):
он просто в тебя влюбился biggrin.gif

Спустя 2 минуты, 17 секунд (27.02.2012 - 08:14) Kuliev написал(а):
rooor

Дебагинк еще никто не ОТМЕНЯЛ. По этому советую сделать так!


if(isset($_POST['id']))
{
$sql = "UPDATE `table`
SET `id_nick` = '"
.(int)$_SESSION['id_nick']."'
WHERE `id` = "
.(int)$_POST['id'];

$result = mysql_query($sql) or die(mysql_error() .'<br>'. $sql);

echo $sql;
exit();
}


Попробуйте сделать так, может увидите где ошибку или еще что нибудь. В общем проверяйте что приходит в запрос и как он обрабатывается MySQL.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.