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:
$query1 = "SELECT SQL_CALC_FOUND_ROWS Id, Name FROM my_table WHERE Name LIKE '%prashant%' LIMIT 0, 10;"; $result1 = mysql_query($query1);
$query2 = "SELECT FOUND_ROWS();"; $result2 = mysql_query($query2);
$rows1 = mysql_fetch_all($result1, MYSQL_ASSOC);
$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!