Bara för att vara säker:när du försöker köra dessa 4 frågor från PHP, anropar du mysql_query
fyra gånger?
Till exempel :
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)");
Vad jag menar är:du kan inte skicka flera distinkta frågor samtidigt, med bara ett anrop till mysql_query
(citat, min betoning) :
Du måste "separera" dina frågor -- vilket förmodligen är något phpMyAdmin gör utan att berätta för dig.
Och som @Alexandre påpekade i kommentarerna :
Om du använder mysqli_*
funktioner (och inte mysql_*
) för att komma åt din databas kan du prova att använda mysqli_multi_query
.
Tyvärr finns det en sådan funktion för mysql_*
.
(BTW:mysql_*
API är det gamla -- det skulle vara bättre, särskilt för ett nytt projekt, att använda mysqli_*
)
Redigera efter kommentaren:
Om det handlar om prestationer, ja, gör ett enda anrop till databasen, istället för fyra på varandra följande PHP <-> MySQL
samtal, kunde vara bättre.
I det här fallet kan du prova att använda infogningssyntaxen som tillåter att infoga flera rader samtidigt; se 12.2.5. INFOGA syntax i MySQL:s manual (citat) :