MySQLi: Einfügen mehrerer Zeilen mit einer vorbereiteten Anweisung

Ich habe ein Skript erstellt, das eine unformatierte Abfragezeichenfolge erstellt und anschließend die Hunderte von Zeilen in eine Anweisung einfügt. Es funktioniert, bietet jedoch nicht den Schutz, den vorbereitete Anweisungen bieten. Ich habe dann mein Skript geändert, um vorbereitete Anweisungen hinzuzufügen. Es funktioniert jedoch deutlich langsamer. Das Skript mit vorbereiteten Anweisungen benötigt viel länger zum Einfügen der Zeilen als das rohe Abfrageskript, da das Skript jede vorbereitete Einfügeanweisung zeilenweise durchläuft, anstatt Hunderte von Zeilen gleichzeitig einzufügen.

Hier ist ein Ausschnitt des vorbereiteten Anweisungscodes:

for( $j = 0; $j < $abilitiesMax - 2; $j++ ){
  $stmtAbility->bind_param('iiiii', $abilityArray[$i]["match_id"] , $abilityArray[$i]["player_slot"],
  $abilityArray[$i][$j]["ability"], $abilityArray[$i][$j]["time"], $abilityArray[$i][$j]["level"] );

  if(  !($stmtAbility->execute()) ){      
   echo "<p>$db->error</p>";
   echo "<p>ERROR: when trying to insert abilities query</p>";
  }
}

Es wird die Arbeit erledigt, aber erst nach Hunderten von Einsätzen. Gibt es eine Möglichkeit, Listen oder Arrays an die Argumente bind_param () zu binden und einfach $ stmtAbility auszuführen -> einmal oder mit einer anderen Methode, die die Leistung beschleunigen kann.

Es tut uns leid, wenn dies zuvor gefragt und beantwortet wurde. Ich sah mich eine Weile um und fand einige ähnliche Fragen, aber nichts, was das beantwortete, wonach ich ausdrücklich fragte.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage