Nur um sicherzugehen:Wenn Sie versuchen, diese 4 Abfragen von PHP auszuführen, rufen Sie mysql_query
auf viermal ?
Zum Beispiel:
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)");
Was ich meine ist:Sie können nicht mehrere unterschiedliche Abfragen gleichzeitig senden, mit nur einem Aufruf von mysql_query
(Zitat, Hervorhebung von mir) :
Sie müssen Ihre Abfragen „trennen“ – was phpMyAdmin wahrscheinlich tut, ohne es Ihnen zu sagen.
Und wie @Alexandre darauf hinwies in den Kommentaren :
Wenn Sie mysqli_*
verwenden
Funktionen (und nicht mysql_*
), um auf Ihre Datenbank zuzugreifen, können Sie versuchen, mysqli_multi_query
.
Leider gibt es eine solche Funktion für mysql_*
.
(Übrigens:die mysql_*
API ist die alte -- es wäre besser, besonders für ein neues Projekt, mysqli_*
zu verwenden )
Nach dem Kommentar bearbeiten :
Wenn es um Leistung geht, ja, einen einzigen Aufruf an die Datenbank machen, statt vier aufeinanderfolgende PHP <-> MySQL
Anrufe, könnte besser sein.
In diesem Fall könnten Sie versuchen, die Einfüge-Syntax zu verwenden, die es ermöglicht, mehrere Zeilen auf einmal einzufügen; siehe 12.2.5. INSERT-Syntax im MySQL-Handbuch (Zitat) :