вот код:
$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']- эти переменные берутся из формы, точнее из текстбоксов на ней, так вот, если не заполнено хотя бы одно, данный запрос выдает следующую ошибку: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax"
$_POST['nompasp']
$_POST['kempasp']
Подчеркиваю, если все три поля на форме заполнены то все нормально обновляется в БД... подскажите, что за ХРЕНЬ?
Спустя 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 написал(а):
Всмысле обойти? О_О Тебе лень прописать ?
и т.д
И раз на то пошло то так грамотнее, но лучше сам запрос помещать в переменную, и каждую из этих пост переменных обрабатывать mysql_real_escape_string()
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'ом по посту =)
Значит проходишь foreach'ом по посту =)
Спустя 5 минут, 22 секунды (15.05.2011 - 23:10) dgalexei написал(а):
может быть и так.... все равно спасибо!
_____________
Я не флудер , просто мне есть что сказать!
dictum - factum (сказано - сделано).