Само за да сте сигурни:когато се опитвате да изпълните тези 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
(цитирам, ударението е мое) :
Трябва да „разделите“ вашите заявки -- което вероятно е нещо, което phpMyAdmin прави, без да ви казва.
И както @Alexandre посочи в коментарите :
Ако използвате mysqli_*
функции (а не mysql_*
) за достъп до вашата база данни можете да опитате да използвате mysqli_multi_query
.
За съжаление има такава функция за mysql_*
.
(BTW:mysql_*
API е старият -- би било по-добре, особено за нов проект, да се използва mysqli_*
)
Редактиране след коментара:
Ако става дума за изпълнение, да, извършване на едно извикване към базата данни, вместо четири последователни PHP <-> MySQL
обаждания, може да е по-добре.
В този случай можете да опитате да използвате синтаксиса за вмъкване, който позволява вмъкване на няколко реда наведнъж; вижте 12.2.5. Синтаксис INSERT в ръководството на MySQL (цитирайки) :