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
Freigeben: 2024-12-03 06:10:10
Original
165 Leute haben es durchsucht

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();
Nach dem Login kopieren

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);
Nach dem Login kopieren
  1. Führen Sie die zweite aus Abfrage:
$query2 = "SELECT FOUND_ROWS();";
$result2 = mysql_query($query2);
Nach dem Login kopieren
  1. Ergebnisse der ersten Abfrage abrufen:
$rows1 = mysql_fetch_all($result1, MYSQL_ASSOC);
Nach dem Login kopieren
  1. Rufen Sie die Ergebnisse der Sekunde ab Abfrage:
$totalRows = mysql_fetch_row($result2)[0];
Nach dem Login kopieren

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();
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage