|
|
|
|
|
для: usa
(12.12.2011 в 20:10)
| | Внешне вроде да, но лучше проверить, обязательно обработав запрос на успешность выполнения, в случае неудачи выводить отчет mysql_error(), чтобы выяснить, где проблема. | |
|
|
|
|
|
|
|
для: Sfinks
(07.12.2011 в 18:47)
| | вот поставил кавычки
$result = mysql_query ("UPDATE pu SET title='$title', licence='$licence',
accreditation='$accreditation', address='$address', tel='$tel', fax='$fax',
site='$site', email='$email', full_name='$full_name', short_name='$short_name'
WHERE id_pu=" . mysql_real_escape_string($id_pu) . "");
|
Теперь все ОК в запросе? | |
|
|
|
|
|
|
|
для: usa
(07.12.2011 в 16:15)
| | >Как можно оставлять поле не заполненным?
2 варианта.
Первый - в свойствах таблицы полям, которые можно не заполнять, нужно присвоить значения по умолчанию. Тогда при добавлении записи поля значения для которых не переданы будут заполняться значениями по умолчанию
Второй - Пусть из формы приходят и не все поля, но во время проверки правильности введенных данных, переменным, значения для которых не установлены, присваивать ничтожные (а может и значимые), но адекватные данные. Т.е., например, 0 для поля integer, "" для string и т.д. Но делать все это до отправки запроса в БД. | |
|
|
|
|
|
|
|
для: usa
(07.12.2011 в 16:47)
| | mysql_real_escape_string
эксейпирование и магические кавычки - это как раз то что не грех спросить у гугла :)
поверьте лучше чем гугл или хорошая книга, я вам не смогу рассказать в рамках форума.
учитесь разделять информацию и выхватывать самую суть
___
в соседней теме отредактируйте сообщение что бы оно помещалось в окно браузера и не растягивало его, а то читать не удобно | |
|
|
|
|
|
|
|
для: Valick
(07.12.2011 в 16:39)
| | я решил это просто - написал, что все поля обязательны к заполнению.
а вот "и кстати после проверки валидности данных не мешало бы применять эскейпирование :))"
Можно поподробнее? | |
|
|
|
|
|
|
|
для: usa
(07.12.2011 в 16:15)
| | естетсвенно записи не будет, так как запрос станет некорректным
его нужно собирать в соответствии с теми полями которые присутствуют
именно при проверке данных переданных из формы нужно "по кусочку" собирать запрос
___
и кстати после проверки валидности данных не мешало бы применять эскейпирование :))
на магические кавычки лучше не расчитывать | |
|
|
|
|
|
|
|
для: Valick
(07.12.2011 в 16:00)
| | заработало.
Только как быть если поле остается пустым, то запись не производится.
Как можно оставлять поле не заполненным? | |
|
|
|
|
|
|
|
для: usa
(07.12.2011 в 15:54)
| | WHERE id_pu='$id_pu' -> WHERE id_pu=$id_pu
if ($result == 'true') -> ... | |
|
|
|
|
|
|
|
для: Valick
(07.12.2011 в 15:38)
| | переписал
<?php
if (isset($title) && isset($licence) && isset($accreditation) && isset($address)
&& isset($tel) && isset($fax) && isset($site) && isset($email) && isset($full_name)
&& isset($short_name)&& isset($id_pu))
{
/*Здесь мы пишем, что можно заносить информацию в базу*/
$result = mysql_query ("UPDATE pu SET title='$title', licence='$licence',
accreditation='$accreditation', address='$address', tel='$tel',
fax='$fax', site='$site', email='$email', full_name='$full_name', short_name='$short_name'
WHERE id_pu='$id_pu'");
if ($result == 'true') {echo "<p>Ваша рубрика обновлена!</p>";}
else {echo "<p>Ваша рубрика не обновлена!</p>";}
}
else
{
echo "<p>Вы ввели не всю информацию, поэтому рубрика не может быть добавлена в базу</p>";
}
?>
|
Все равно тот же результат. Ваш ПУ не добавлен!
Про магические кавычки не знаю | |
|
|
|
|
|
|
|
для: usa
(07.12.2011 в 15:32)
| | нет)
нужно использовать UPDATE вместо INSERT
вы же редактируете строку (о чем собственно нужно было сообщить в самом начале)
а не вставляете новую строку
хотя по идее новая строка должна вставиться если запрос корректный
кстати магические кавычки включены? | |
|
|
|
|