Jen pro jistotu:když se pokoušíte provést tyto 4 dotazy z PHP, voláte mysql_query čtyřikrát?
Například:
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)");
Mám na mysli:nemůžete odeslat několik různých dotazů najednou, pouze jedním voláním mysql_query
(cituji, zdůrazňuji můj) :
Musíte "oddělit" své dotazy - což je pravděpodobně něco, co phpMyAdmin dělá, aniž by vám to řekl.
A jak zdůraznil @Alexandre v komentářích :
Pokud používáte mysqli_*
funkcí (a nikoli mysql_* ) pro přístup k databázi můžete zkusit použít mysqli_multi_query
.
Bohužel existuje taková funkce pro mysql_* .
(BTW:mysql_* API je staré – bylo by lepší, zvláště pro nový projekt, použít mysqli_* )
Upravit po komentáři:
Pokud jde o výkon, ano, provedení jediného volání databáze namísto čtyř po sobě jdoucích PHP <-> MySQL hovory, mohlo by to být lepší.
V tomto případě můžete zkusit použít syntaxi insert, která umožňuje vložit několik řádků najednou; viz 12.2.5. INSERT Syntaxe v příručce MySQL (cituji) :