Voor de zekerheid:wanneer je deze 4 query's probeert uit te voeren vanuit PHP, bel je mysql_query
vier keer ?
Bijvoorbeeld:
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)");
Wat ik bedoel is:je kunt niet meerdere afzonderlijke zoekopdrachten tegelijk verzenden, met slechts één aanroep naar mysql_query
(citaat, nadruk van mij) :
Je moet je zoekopdrachten "scheiden" -- wat waarschijnlijk iets is dat phpMyAdmin doet zonder het je te vertellen.
En, zoals @Alexandre opmerkte in de reacties :
Als je de mysqli_*
gebruikt
functies (en niet mysql_*
) om toegang te krijgen tot uw database, kunt u proberen mysqli_multi_query
.
Helaas is er zo'n functie voor mysql_*
.
(BTW:de mysql_*
API is de oude -- het zou beter zijn, vooral voor een nieuw project, om mysqli_*
te gebruiken )
Bewerken na de opmerking:
Als het om prestaties gaat, ja, één aanroep doen naar de database, in plaats van vier opeenvolgende PHP <-> MySQL
belt, kan beter.
In dit geval zou je kunnen proberen de invoegsyntaxis te gebruiken die het mogelijk maakt om meerdere regels tegelijk in te voegen; zie 12.2.5. INSERT-syntaxis in de handleiding van MySQL (citaat) :