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 :: Ошибка mysql

 PHP.SU

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


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

> Описание: разделение команд
Maksim337
Отправлено: 21 Ноября, 2009 - 23:06:43
Post Id


Частый гость


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


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




я в запросе розделяю команды ;
PHP:
скопировать код в буфер обмена
  1. mysql_query("UPDATE `user` SET `year`='2000' WHERE `name`='Maks';
  2.                   UPDATE `user` SET `year`='2001' WHERE `name`='Petya'") or die('error');


Почему то не работаетНедовольство, огорчение или команды не можно разделять таким образом? как быть...
 
 Top
EuGen Администратор
Отправлено: 22 Ноября, 2009 - 01:43:01
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Сделайте 2 запроса - и два вызова. Если нужна одновременность - используйте BEGIN/COMMIT/ROLLBACK (только для InnoDB)
Хотя в Вашем случае достаточно OR либо же IN в условии WHERE


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Maksim337
Отправлено: 22 Ноября, 2009 - 10:40:06
Post Id


Частый гость


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


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




EuGen то есть mysql_query($update1); и mysql_query($update2); ?
 
 Top
EuGen Администратор
Отправлено: 22 Ноября, 2009 - 12:23:28
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Можно двумя вызовами, а можно так:
{...} WHERE `name`='Maks' OR `name`='Petya'
или так:
{...} WHERE `name` IN ('Maks', 'Petya')


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Champion Супермодератор
Отправлено: 22 Ноября, 2009 - 12:48:59
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Maksim337 пишет:
SET `year`='2000'
Maksim337 пишет:
SET `year`='2001'
так что двумя вызовами.
 
 Top
Maksim337
Отправлено: 22 Ноября, 2009 - 13:07:40
Post Id


Частый гость


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


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




через WHERE я понимаю врятли будет то что надо, так как устанавливаеться разные значения для разных имен...
(Добавление)
Всем большое спасибо, что уделили внимание...

(Отредактировано автором: 22 Ноября, 2009 - 13:09:37)

 
 Top
EuGen Администратор
Отправлено: 23 Ноября, 2009 - 00:16:10
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Ах да, прошу прощения, не заметил, что значения разные


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB