Aktueller Standort: Startseite> Neueste Artikel> [Kombination der Real_query -Funktion und MySQLI_Fetch_assoc -Funktion, die Ergebnisse einfach erhalten und verarbeiten

[Kombination der Real_query -Funktion und MySQLI_Fetch_assoc -Funktion, die Ergebnisse einfach erhalten und verarbeiten

gitbox 2025-08-30

Kombinieren Sie die Funktion real_query und die Funktion mySQLI_Fetch_assoc, es ist einfach, Abfragebereiche zu erhalten und zu verarbeiten

In PHP ist die MySQLI -Erweiterung eines der am häufigsten verwendeten Tools beim Betrieb mit einer MySQL -Datenbank. Mit der MySQLI -Erweiterung können Sie problemlos eine Verbindung zur Datenbank herstellen, Abfragen ausführen und Abfrageergebnisse erhalten. In diesem Artikel wird vorgestellt, wie die Funktion real_query und die Funktion mySQLI_Fetch_assoc kombiniert werden, um Abfrageergebnisse effizient zu erhalten und zu verarbeiten.

Was sind real_query und mySQLi_fetch_assoc ?

Bevor wir verstehen, wie wir diese beiden Funktionen kombinieren können, müssen wir ihre grundlegenden Funktionen verstehen:

  • real_query : Dies ist eine Funktion, die von der MySQLI -Erweiterung bereitgestellt wird, um SQL -Abfragen auszuführen. Im Gegensatz zur Abfragefunktion sendet Real_Query SQL -Befehle direkt an die Datenbank und verarbeitet sie. Wenn Sie komplexe Abfragen ausführen müssen, bietet die Verwendung von Real_Query mehr Kontrolle und Flexibilität.

  • MySQLI_Fetch_assoc : Dies ist eine weitere sehr häufig verwendete MySQLI -Funktion, die eine Reihe von Daten aus dem Abfrageergebnis enthält und sie als assoziatives Array zurückgibt. Jeder Feldname wird als Schlüssel des Arrays verwendet, und Sie können über den Feldnamen auf den entsprechenden Wert zugreifen.

Verwenden Sie Real_Query, um Daten zu erhalten

Zunächst möchten wir eine Datenbankverbindung erstellen und SQL -Abfragen mit real_query ausführen. Real_Query gibt das Ergebnis nicht direkt zurück, sondern ruft den Ergebnissatz der Abfrage über mySQLI_USEL_RESULT oder MYSQLI_STORE_RESULT ab.

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Erstellen Sie eine Datenbankverbindung</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-string">'localhost'</span></span><span>, </span><span><span class="hljs-string">'root'</span></span><span>, </span><span><span class="hljs-string">''</span></span><span>, </span><span><span class="hljs-string">'test_db'</span></span><span>);

</span><span><span class="hljs-comment">// Überprüfen Sie, ob die Verbindung erfolgreich ist</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;connect_error) {
    </span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">'Verbindung ist fehlgeschlagen: '</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;connect_error);
}

</span><span><span class="hljs-comment">// DefinitionSQLAbfrageanweisung</span></span><span>
</span><span><span class="hljs-variable">$sql</span></span><span> = </span><span><span class="hljs-string">"SELECT id, name, age FROM users"</span></span><span>;

</span><span><span class="hljs-comment">// Eine Frage ausführen</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">real_query</span></span><span>(</span><span><span class="hljs-variable">$sql</span></span><span>)) {
    </span><span><span class="hljs-comment">// Abfragenergebnisse erhalten</span></span><span>
    </span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">use_result</span></span><span>(); </span><span><span class="hljs-comment">// Verwenden Sie Abfrageergebnisse</span></span><span>

    </span><span><span class="hljs-comment">// Überprüfen Sie, ob die Abfrage erfolgreich ist</span></span><span>
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$result</span></span><span>) {
        </span><span><span class="hljs-comment">// Durch die Ergebnisse durchlaufen</span></span><span>
        </span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-variable">$result</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">fetch_assoc</span></span><span>()) {
            </span><span><span class="hljs-comment">// Verarbeiten Sie jede Datenreihe</span></span><span>
            </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ID: "</span></span><span> . </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>] . </span><span><span class="hljs-string">" | Name: "</span></span><span> . </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'name'</span></span><span>] . </span><span><span class="hljs-string">" | Age: "</span></span><span> . </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'age'</span></span><span>] . </span><span><span class="hljs-string">"&lt;br&gt;"</span></span><span>;
        }
    } </span><span><span class="hljs-keyword">else</span></span><span> {
        </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Das Abfrageergebnis ist leer"</span></span><span>;
    }
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Abfrage fehlgeschlagen: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;error;
}

</span><span><span class="hljs-comment">// Schließen Sie die Datenbankverbindung</span></span><span>
</span><span><span class="hljs-variable">$mysqli</span></span><span>-&gt;</span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

In diesem Code erstellen wir zunächst eine Verbindung zur MySQL -Datenbank mit dem MySQLi -Objekt. Wenn die Verbindung erfolgreich ist, verwenden wir die Real_Query -Methode, um die SQL -Abfrageanweisung auszuführen. Anschließend erhalten wir das Abfrageergebnis über Use_Result und erhalten die Ergebniszeile durch Zeile durch die Funktion mySQLI_Fetch_assoc .

Verwenden Sie MySQLI_Fetch_assoc , um die Ergebnisse zu verarbeiten

MySQLI_Fetch_assoc ist eine sehr leistungsstarke Funktion, die jede Zeile im Ergebnis als assoziatives Array zurückgibt. Im obigen Beispiel ist $ row ein Array, in dem Sie auf die Daten jeder Zeile mit Feldnamen wie $ row ['id'] , $ row ['name'] und $ row ['Alter'] zugreifen können.

Dieser Ansatz ist lesbarer als die Verwendung von MySQLI_Fetch_row (Rückgabe eines numerischen Indexarrays), da Sie direkt über den Feldnamen auf die Daten zugreifen können, ohne sich an den Speicherort jedes Feldes zu erinnern.

Vorteile von Real_Query und MySQLI_Fetch_assoc

  1. Flexibilität : Real_Query kann komplexere Abfragen ausführen, die mehr Kontrolle über große Anwendungen oder komplexe Abfragebetriebe bieten. Sie können jeden SQL -Befehl direkt über real_query ausführen, nicht nur über eine einfache Auswahlabfrage.

  2. Effizienz : Das von MySQLI_Fetch_assoc zurückgegebene assoziative Array ist bei der Bearbeitung von Abfragenergebnissen lesbarer und intuitiver und für Szenarien geeignet, in denen Daten effizient und klar verarbeitet werden.

  3. Fehlerbehandlung : Real_Query bietet mehr Fehlerinformationen und diagnostische Informationen, mit denen Entwickler Probleme lokalisieren können. MySQLI_Fetch_assoc vereinfacht den Prozess des Durchquerens des Ergebnissatzes und vermeidet das Problem der manuellen Verwaltung von Indizes.

Zusammenfassen

Wenn Sie Real_Query und MySQLI_Fetch_assoc kombinieren, können Sie die Ergebnisse der Datenbankabfrage problemlos erhalten und verarbeiten. Real_Query bietet Ihnen flexible Abfrageausführungsfunktionen, während mySQLI_Fetch_assoc die Verarbeitung von Ergebnissen klarer und intuitiver macht. Durch die Beherrschung der Verwendung dieser beiden werden die Effizienz und Lesbarkeit Ihrer Datenbankvorgänge in PHP erheblich verbessert.