Heim Backend-Entwicklung PHP-Tutorial Wie führe ich mit PHP/MySQL mehrere SQL-Abfragen in einem einzigen Ergebnissatz aus?

Wie führe ich mit PHP/MySQL mehrere SQL-Abfragen in einem einzigen Ergebnissatz aus?

Nov 11, 2024 pm 03:37 PM

How to Execute Multiple SQL Queries in a Single Result Set with PHP/MySQL?

Mehrere Abfragen in PHP/MySQL ausführen

Frage:

Wie kann ich mehrere kombinieren SQL-Abfragen in eine einzelne Ergebnismenge in PHP mit MySQL?

Antwort:

Um mehrere verkettete Abfragen in PHP mit MySQL auszuführen, befolgen Sie diese Schritte:

  1. Erstellen Sie die SQL-Anweisung:
    Verketten Sie die einzelnen SQL-Abfragen zu einer einzigen Zeichenfolge, getrennt durch Semikolons (;). Stellen Sie sicher, dass am Ende jeder Abfrage außer der letzten zwei Semikolons stehen.
  2. Mit Datenbank verbinden:
    Verwenden Sie die Funktion mysqli_connect, um eine Datenbankverbindung herzustellen.
  3. Abfrage vorbereiten:
    Verwenden Sie die Funktion mysqli_prepare, um die vorzubereiten Anweisung mit mehreren Abfragen.
$query = "SQL STATEMENT 1;;SQL STATEMENT 2;;SQL STATEMENT 3";
Nach dem Login kopieren
  1. Abfragen ausführen:
    Verwenden Sie die Funktion mysqli_multi_query, um die vorbereitete Anweisung auszuführen.
if (mysqli_multi_query($link, $query)) {
    do {
        // Store and process results
    } while (mysqli_next_result($link));
}
Nach dem Login kopieren
  1. Abrufen Ergebnisse:
    Verwenden Sie nach dem Ausführen der Abfragen das mysqli_fetch_array, um Ergebnisse aus jeder Abfrage abzurufen.

Beispiel:

$link = mysqli_connect("server", "user", "password", "database");

$query = "CREATE VIEW current_rankings AS SELECT * FROM main_table WHERE date = X;;
CREATE VIEW previous_rankings AS SELECT rank FROM main_table WHERE date = date_sub('X', INTERVAL 1 MONTH);;
CREATE VIEW final_output AS SELECT current_rankings.player, current_rankings.rank as current_rank LEFT JOIN previous_rankings.rank as prev_rank
             ON (current_rankings.player = previous_rankings.player);;
SELECT *, @rank_change = prev_rank - current_rank as rank_change from final_output";

if (mysqli_multi_query($link, $query)) {
    do {
        if ($result = mysqli_store_result($link)) {
            while ($row = mysqli_fetch_array($result)) {
                // Process results
            }
            mysqli_free_result($result);
        }
    } while (mysqli_next_result($link));
}
Nach dem Login kopieren

Alternativer Ansatz:

Alternativ Sie kann jede Abfrage einzeln ausführen und die Ergebnisse einzeln verarbeiten. Dieser Ansatz wird empfohlen, wenn die Abfragen nicht voneinander abhängig sind.

$query1 = "Create temporary table A select c1 from t1";
$result1 = mysqli_query($link, $query1);

$query2 = "select c1 from A";
$result2 = mysqli_query($link, $query2);

while($row = mysqli_fetch_array($result2)) {
    // Process results
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie führe ich mit PHP/MySQL mehrere SQL-Abfragen in einem einzigen Ergebnissatz aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) 11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium) Mar 03, 2025 am 10:49 AM

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Arbeiten mit Flash -Sitzungsdaten in Laravel Arbeiten mit Flash -Sitzungsdaten in Laravel Mar 12, 2025 pm 05:08 PM

Arbeiten mit Flash -Sitzungsdaten in Laravel

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Mar 12, 2025 pm 05:09 PM

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Einführung in die Instagram -API Einführung in die Instagram -API Mar 02, 2025 am 09:32 AM

Einführung in die Instagram -API

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren Mar 04, 2025 am 09:33 AM

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

12 Beste PHP -Chat -Skripte auf Codecanyon 12 Beste PHP -Chat -Skripte auf Codecanyon Mar 13, 2025 pm 12:08 PM

12 Beste PHP -Chat -Skripte auf Codecanyon

Ankündigung von 2025 PHP Situation Survey Ankündigung von 2025 PHP Situation Survey Mar 03, 2025 pm 04:20 PM

Ankündigung von 2025 PHP Situation Survey

See all articles