Просто чтобы быть уверенным: когда вы пытаетесь выполнить эти 4 запроса из PHP, вы звоните mysql_query
четыре раза?
Например:
mysql_query("INSERT INTO um_group_rights (`um_group_id`,`cms_usecase_id`,`um_right_id`) VALUES (2,1,1)");
mysql_query("INSERT INTO um_group_rights (`um_group_id`,`cms_usecase_id`,`um_right_id`) VALUES (2,2,1)");
mysql_query("INSERT INTO um_group_rights (`um_group_id`,`cms_usecase_id`,`um_right_id`) VALUES (2,3,1)");
mysql_query("INSERT INTO um_group_rights (`um_group_id`,`cms_usecase_id`,`um_right_id`) VALUES (2,4,1)");
Я имею в виду следующее: вы не можете отправить несколько разных запросов одновременно, только с одним вызовом mysql_query
(цитирование, выделено мое) :
mysql_query()
отправляет уникальный запрос
(несколько запросов не поддерживаются) до текущего активного
база данных на сервере, это
связанный с указанным
link_identifier
.
Вы должны «разделить» ваши запросы - что, вероятно, phpMyAdmin делает, не сообщая вам.
И, как @ Александр указал в комментариях:
Строка запроса не должна заканчиваться
точка с запятой.
Если вы используете функции mysqli_*
(а не mysql_*
) для доступа к вашей базе данных, вы можете попробовать использовать mysqli_multi_query
.
К сожалению, есть такая функция для mysql_*
.
(Кстати: mysql_*
API является старым - было бы лучше, особенно для нового проекта, использовать mysqli_*
)
Редактировать после комментария:
Если речь идет о выступлениях, да, лучше сделать один вызов в базу данных вместо четырех последовательных вызовов PHP <-> MySQL
.
В этом случае вы можете попробовать использовать синтаксис вставки, который позволяет вставлять несколько строк одновременно; см 12.2.5. Синтаксис INSERT в руководстве MySQL (цитирование) :
INSERT
операторов, которые используют VALUES
Синтаксис может вставлять несколько строк.
Для этого включите несколько списков
значений столбцов, каждое из которых заключено в
круглые скобки и разделенные запятыми.
* * Пример тысяча семьдесят-одна: * * тысяча семьдесят-две
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
Список значений для каждой строки должен быть
в скобках.