Giusto per essere sicuro:quando stai cercando di eseguire queste 4 query da PHP, stai chiamando mysql_query
quattro volte?
Ad esempio :
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)");
Intendo:non puoi inviare più query distinte contemporaneamente, con una sola chiamata a mysql_query
(citando, enfasi mia) :
Devi "separare" le tue query -- che probabilmente è qualcosa che phpMyAdmin fa senza dirtelo.
E, come @Alexandre ha sottolineato nei commenti :
Se stai utilizzando mysqli_*
funzioni (e non mysql_*
) per accedere al tuo database, puoi provare a utilizzare mysqli_multi_query
.
Sfortunatamente, esiste una tale funzione per mysql_*
.
(A proposito:il mysql_*
L'API è quella vecchia -- sarebbe meglio, soprattutto per un nuovo progetto, usare mysqli_*
)
Modifica dopo il commento :
Se si tratta di prestazioni, sì, fare una singola chiamata al database, invece di quattro PHP <-> MySQL
successivi chiamate, potrebbe essere migliore.
In questo caso, potresti provare ad usare la sintassi di inserimento che permette di inserire più righe contemporaneamente; vedere 12.2.5. INSERT Sintassi nel manuale di MySQL (citando) :