[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема С MySQL
dgalexei
Возникла след. проблема:

вот код:

$serpasp=$_POST['serpasp'];
$nompasp=$_POST['nompasp'];
$kempasp=$_POST['kempasp'];


mysql_query('UPDATE `dogovor` SET `serpasp`='.$_POST['serpasp'].',`nompasp`='.$_POST['nompasp'].',`kempasp`='.$_POST['kempasp'].' WHERE `id_dog`='.$pid.' ') or die (mysql_error());



$_POST['serpasp']
$_POST['nompasp']
$_POST['kempasp']
- эти переменные берутся из формы, точнее из текстбоксов на ней, так вот, если не заполнено хотя бы одно, данный запрос выдает следующую ошибку: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax"
Подчеркиваю, если все три поля на форме заполнены то все нормально обновляется в БД... подскажите, что за ХРЕНЬ?



Спустя 20 минут, 39 секунд (15.05.2011 - 22:45) sharki написал(а):
dgalexei
Он говорит, если хоть какого то поля не будет, то будет синтаксическая ошибка, что у тебя и получилось. Тебе надо обработать каждую переменную, и если её нет то присвоить пустую строку, а потом уже подставить в запрос

Спустя 7 минут, 52 секунды (15.05.2011 - 22:53) dgalexei написал(а):
я понимаю, а обойти никак?

Спустя 3 минуты, 25 секунд (15.05.2011 - 22:56) sharki написал(а):
Всмысле обойти? О_О Тебе лень прописать ?
if(empty($_POST['serpasp']))
$_POST['serpasp'] = "";

и т.д

И раз на то пошло то так грамотнее, но лучше сам запрос помещать в переменную, и каждую из этих пост переменных обрабатывать mysql_real_escape_string()
mysql_query("UPDATE `dogovor` SET `serpasp`='".$_POST['serpasp']."',`nompasp`='".$_POST['nompasp']."',`kempasp`='".$_POST['kempasp']."' WHERE `id_dog`=".(int)$pid) or die (mysql_error());

Спустя 6 минут, 38 секунд (15.05.2011 - 23:03) dgalexei написал(а):
а ты представь, у меня полей около 50.. для каждого прописывать?.. должно быть какое то решение...

Спустя 1 минута, 38 секунд (15.05.2011 - 23:04) dgalexei написал(а):
да, пятьдесят это только на одной страничке... а их 9!!! То что ты говоришь верно, спору нет... Но не рационально... До этого я и сам додумался...

Спустя 20 секунд (15.05.2011 - 23:05) sharki написал(а):
dgalexei
Значит проходишь foreach'ом по посту =)

Спустя 5 минут, 22 секунды (15.05.2011 - 23:10) dgalexei написал(а):
может быть и так.... все равно спасибо!


_____________
Я не флудер , просто мне есть что сказать!
dictum - factum (сказано - сделано).
Быстрый ответ:

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