[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: массовый INSERT
Zerstoren
$s =  "INSERT INTO `inst` (id) VALUES (1);"
. "INSERT INTO `inst` (id) VALUES (2);"
. "INSERT INTO `inst` (id) VALUES (3);"
. "INSERT INTO `inst` (id) VALUES (4);";

mysql_query($s);

Вот есть у нас запрос который в свою очередь должен добавить за один раз группу данных без цыкла.

Но при попытке произвести это, нам выдается месага что
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO `inst` (id) VALUES (2); INSERT INTO `inst` (id) VALUES (3); INSERT I' at line 2


С ошибкой 1064

Кто подскажет как решить траблу?
В пхпАдмине все фурычит отлично.



Спустя 4 минуты, 56 секунд (29.03.2011 - 15:33) Snus написал(а):
Zerstoren
$s = "INSERT INTO `inst` (`id`) VALUES 
('1'),
('2'),
('3'),
('4')"
;
mysql_query($s) or die(mysql_error());

Спустя 17 минут, 6 секунд (29.03.2011 - 15:50) Trianon написал(а):
Zerstoren
phpMyAdmin разбивает код на отдельные запросы, и каждый из них выполняет отдельным вызовом mysql_query()

Спустя 22 минуты, 27 секунд (29.03.2011 - 16:13) Zerstoren написал(а):
Цитата (Snus @ 29.03.2011 - 12:33)
Zerstoren
$s = "INSERT INTO `inst` (`id`) VALUES 
('1'),
('2'),
('3'),
('4')"
;
mysql_query($s) or die(mysql_error());

Ага!

Вот где спрятались мои не знания. Снус спасибо)

Спустя 6 часов, 45 минут, 58 секунд (29.03.2011 - 22:59) kirik написал(а):
Цитата (Zerstoren @ 29.03.2011 - 08:13)
Вот где спрятались мои не знания.

Твои незнания спрятались в ответе Trianonsmile.gif
А именно: mysql_query не может выполнять запросы, перечисленные через точку с запятой. Однако это является стандартом SQL, и тот же pg_query или mysqli уже поддерживают такую возможность.
Быстрый ответ:

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