Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: update msql

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
pava77
Отправлено: 28 Марта, 2013 - 17:36:00
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Март 2013  


Помог: 0 раз(а)

[+]


Есть запрос на обновление заголовка, юзер пишет изменение в форме то чно ему нужно и нажимает оотправить, вот запрос
PHP:
скопировать код в буфер обмена
  1.  
  2. $sql = "UPDATE obyavi SET title='$_POST[title]' ";
  3.  

при таком запросе меняет все title в таблице, а мне нужно что бы меняло в конкретном id и customer
PHP:
скопировать код в буфер обмена
  1.  
  2.  "UPDATE obyavi SET title='$_POST[title]' WHERE id='$_POST[id]' and customer='$_POST[customer]";
  3.  
ето не помагает
 
 Top
caballero
Отправлено: 28 Марта, 2013 - 17:41:21
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




значит условие не выполняется
и пиши коректно с массивами

"UPDATE obyavi SET title='{$_POST["title"]}' "
или
"UPDATE obyavi SET title='". $_POST["title"] ."'"


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
pava77
Отправлено: 28 Марта, 2013 - 17:50:27
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Март 2013  


Помог: 0 раз(а)

[+]


caballero пишет:
значит условие не выполняется
и пиши коректно с массивами

"UPDATE obyavi SET title='{$_POST["title"]}' "
или
"UPDATE obyavi SET title='". $_POST["title"] ."'"

PHP:
скопировать код в буфер обмена
  1.  
  2. $sql = "UPDATE obyavi SET title='".$_POST['title']."' WHERE id='".$_POST['id']."' and customer='".$_POST['customer']."'";
  3.  
не работает, что делать?
 
 Top
caballero
Отправлено: 28 Марта, 2013 - 17:53:27
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




проверить что условие выполняется
что совпадают id и customer
осмотри что в Бд посмотри что прихолдит в POST

распечатай echo $sql сам запрос и выполни его отедльно в phpmyadmin или чем тыт там БД смотришь


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
pava77
Отправлено: 28 Марта, 2013 - 18:14:50
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Март 2013  


Помог: 0 раз(а)

[+]


caballero пишет:
проверить что условие выполняется
что совпадают id и customer
осмотри что в Бд посмотри что прихолдит в POST

распечатай echo $sql сам запрос и выполни его отедльно в phpmyadmin или чем тыт там БД смотришь

ага, вижу не передаеться id, его можно передать в форме type=hidden? или как лучше?
(Добавление)
Помогите, как id передать!
 
 Top
kolyan9898
Отправлено: 28 Марта, 2013 - 19:42:44
Post Id


Гость


Покинул форум
Сообщений всего: 127
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




может $_POST['id'] пустой??
(Добавление)
как вы его отправляете
 
 Top
pava77
Отправлено: 28 Марта, 2013 - 19:46:32
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Март 2013  


Помог: 0 раз(а)

[+]


вот именно что никак, как его передать? он пустой, я знаю
 
 Top
esterio
Отправлено: 28 Марта, 2013 - 19:55:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




CODE (html):
скопировать код в буфер обмена
  1. <form action="some_url.php" method="post">
 
 Top
pava77
Отправлено: 28 Марта, 2013 - 20:01:26
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Март 2013  


Помог: 0 раз(а)

[+]


PHP:
скопировать код в буфер обмена
  1.  
  2. <form action="edit_obyava.php" method="post" enctype="multipart/form-data">
  3. <tr><td>Название:<br> <input type="text" name="title" value="<?PHP echo $row["title"] ?>" size="70"></td></tr><td><input type="submit" value="Сохранить изменения"></td></tr>
  4. <input type="text" name="id" value="<?PHP echo $row["id"] ?>">
  5. </form>
  6.  

обработчик
PHP:
скопировать код в буфер обмена
  1.  
  2. $id = (int)$_POST['id'];
  3. $title = addslashes(trim ($_POST["title"]));
  4. $sql = "UPDATE obyavi SET title='".$_POST['title']."' WHERE id='$id'";
  5.         mysql_query($sql) or die (mysql_error());
  6.         echo $sql;
  7.  
ето не работает
 
 Top
DelphinPRO
Отправлено: 28 Марта, 2013 - 20:06:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




pava77 пишет:
ето не работает

в данном случае id должен передаваться. только лучше использовать поле type=hidden

не надо так делать $title = addslashes(trim ($_POST["title"]));
для экранирования существует функция mysql_real_escape_string


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
pava77
Отправлено: 28 Марта, 2013 - 20:21:07
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Март 2013  


Помог: 0 раз(а)

[+]


id не передаеться, я его echo, а там пишет
PHP:
скопировать код в буфер обмена
  1. UPDATE obyavi SET title='Продам ст' WHERE id=''

не пойму что делать
 
 Top
DelphinPRO
Отправлено: 28 Марта, 2013 - 20:27:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




вы откройте форму в браузере. нажмите Ctrl+U и посмотрите исходный код страницы. Там есть этот id?


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
pava77
Отправлено: 28 Марта, 2013 - 20:42:54
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Март 2013  


Помог: 0 раз(а)

[+]


да, конечно есть, он в обработчике теряеться
<input type="hidden" name="id" value="43"> вот такое пишет в исходном коде
 
 Top
DelphinPRO
Отправлено: 29 Марта, 2013 - 07:25:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




этот инпут внутри форм находится?
В самом начале файла обработчика распечатайте var_dump($_POST), там есть id ?


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Object
Отправлено: 29 Марта, 2013 - 08:41:31
Post Id


Гость


Покинул форум
Сообщений всего: 67
Дата рег-ции: Авг. 2010  


Помог: 3 раз(а)




Вам же написали:
caballero пишет:
и пиши коректно с массивами

"UPDATE obyavi SET title='{$_POST["title"]}' "
или
"UPDATE obyavi SET title='". $_POST["title"] ."'"


А Вы в том месте где Вам указали исправили, а в другом зачем, да?
У Вас написано так:
PHP:
скопировать код в буфер обмена
  1. $sql = "UPDATE obyavi SET title='".$_POST['title']."' WHERE id='$id'";


А теперь еще раз внимательно смотрим как собирается строка с подстановкой переменных

или так:
PHP:
скопировать код в буфер обмена
  1. $sql = "UPDATE obyavi SET title='{$_POST['title']}' WHERE id={$id}";

или так:
PHP:
скопировать код в буфер обмена
  1. $sql = "UPDATE obyavi SET title='".$_POST['title']."' WHERE id=".$id;
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB