Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mehrere MySQL-Abfragen unabhängig voneinander in PHP ausführen?

Wie kann ich mehrere MySQL-Abfragen unabhängig voneinander in PHP ausführen?

DDD
DDDOriginal
2024-12-03 06:10:10169Durchsuche

How Can I Execute Multiple MySQL Queries Independently in PHP?

Mehrere MySQL-Abfragen als eine mit PHP ausführen

Problem:

Sie müssen zwei separate MySQL-Abfragen ausführen und verarbeiten ihre Ergebnisse unabhängig in PHP. Die Abfragen sind:

SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10;
SELECT FOUND_ROWS();

Antwort:

Mit der Standarderweiterung mysql_ in PHP ist es nicht möglich, mehrere Abfragen als eine einzige Transaktion auszuführen. Sie können jedoch das gewünschte Ergebnis erzielen, indem Sie die folgenden Schritte ausführen:

  1. Führen Sie die erste Abfrage aus:
$query1 = "SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10;";
$result1 = mysql_query($query1);
  1. Führen Sie die zweite aus Abfrage:
$query2 = "SELECT FOUND_ROWS();";
$result2 = mysql_query($query2);
  1. Ergebnisse der ersten Abfrage abrufen:
$rows1 = mysql_fetch_all($result1, MYSQL_ASSOC);
  1. Rufen Sie die Ergebnisse der Sekunde ab Abfrage:
$totalRows = mysql_fetch_row($result2)[0];

Indem Sie diese Schritte befolgen, können Sie beide Abfragen unabhängig voneinander ausführen und ihre Ergebnisse separat verarbeiten. Beachten Sie, dass dieser Ansatz nicht so effizient ist wie die Ausführung als einzelne Transaktion, aber nur so kann mit der Erweiterung mysql_ das gewünschte Ergebnis erzielt werden.

Alternative Lösung (veraltet):

Aktualisierung: Es wurde bisher für möglich gehalten, mit der Funktion mysql_connect() mehrere Abfragen in einer Anweisung auszuführen eine Fahne. Diese Methode ist jedoch veraltet und sollte nicht verwendet werden.

Moderne Lösung:

Für moderne PHP-Anwendungen wird empfohlen, das PDO (PHP Data Objekte) Erweiterung für Datenbankinteraktionen. PDO bietet eine objektorientiertere und konsistentere Möglichkeit, SQL-Abfragen auszuführen und deren Ergebnisse abzurufen. Mit PDO könnten Sie die beiden Abfragen wie folgt ausführen:

$pdo = new PDO('mysql:host=localhost;dbname=your_database', 'username', 'password');
$stmt1 = $pdo->prepare($query1);
$stmt2 = $pdo->prepare($query2);

$stmt1->execute();
$rows1 = $stmt1->fetchAll(PDO::FETCH_ASSOC);

$stmt2->execute();
$totalRows = $stmt2->fetchColumn();

Diese Lösung ist effizienter und einfacher zu verwenden als die ältere mysql_-Erweiterung.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere MySQL-Abfragen unabhängig voneinander in PHP ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn