Mehrere MySQL-Abfragen als eine in PHP/MySQL ausführen
Einführung
Mehrere SQL-Abfragen ausführen Durch gleichzeitige Abfragen kann die Effizienz bei der Datenbankverarbeitung verbessert werden. In diesem Artikel wird untersucht, wie zwei MySQL-Abfragen als eine in PHP/MySQL ausgeführt werden, wobei auf die Notwendigkeit eingegangen wird, separate Ergebnismengen effektiv zu verarbeiten.
Problemdefinition
Bedenken Sie die folgenden beiden MySQL-Abfragen:
SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10; SELECT FOUND_ROWS();
Die erste Abfrage ruft Daten aus der my_table ab und die zweite Abfrage berechnet die Gesamtzahl der Zeilen in der Tabelle.
PHP-Ausführung
Typischerweise werden diese Abfragen separat mit der Funktion mysql_query() ausgeführt. Dieser Ansatz bietet jedoch keine Möglichkeit, die einzelnen Ergebnismengen separat zu verarbeiten.
$result1 = mysql_query($query1); $result2 = mysql_query($query2);
Mehrfache Abfrageausführung
Um beide Abfragen in einem einzigen Versuch auszuführen, Die Funktion mysqli_multi_query() kann verwendet werden. Mit dieser Funktion können mehrere Abfragen nacheinander ausgeführt werden:
$mysqli = new mysqli('hostname', 'username', 'password', 'database_name'); mysqli_multi_query($mysqli, $query1 . ';' . $query2);
Verarbeitung von Ergebnismengen
Nach der Ausführung der Abfragen können die Ergebnismengen mit mysqli_store_result() abgerufen werden. Funktion:
$result1 = $mysqli->store_result(); $result2 = $mysqli->store_result();
Jetzt können Sie jede Ergebnismenge einzeln durchlaufen, ähnlich wie bisher wird in ASP.NET mithilfe von Datensätzen verarbeitet:
while ($row1 = $result1->fetch_assoc()) { // Process row data from the first query } while ($row2 = $result2->fetch_assoc()) { // Process row data from the second query }
Hinweis
Es ist wichtig zu beachten, dass die Funktion mysqli_multi_query() nur verwendet werden sollte, wenn die einzelnen Abfragen vorhanden sind unabhängig und nicht von den Ergebnissen des anderen abhängig.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere MySQL-Abfragen gleichzeitig in PHP ausführen und separate Ergebnismengen verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!