Das Erhalten von Abfragenergebnissen ist ein üblicher und wichtiger Schritt bei der Interaktion mit MySQL mit PHP. MySQL_Fetch_array () ist eine Funktion, die in PHP verwendet wird, um Abfragergebnisse zu erhalten. Es kann die Ergebnisse als assoziatives Array, ein numerisches Indexarray oder beides zurückgeben, damit wir sie in nachfolgenden Programmen verarbeiten können.
Hinweis : MySQL_Fetch_array () gehört zur MySQL -Erweiterung, die seit PHP 7.0 aufgegeben wurde. Es wird empfohlen, dass neue Projekte MySQLI oder PDO_MYSQL verwenden. Dieser Artikel zielt hauptsächlich darauf ab, alte Systeme oder Lernzwecke aufrechtzuerhalten.
Bevor wir beginnen, müssen wir eine Verbindung zur MySQL -Datenbank herstellen und eine Datenbank auswählen:
<Code> & lt;? php // Verbindung zur Datenbank $ conn = mysql_connect ("localhost", "username", "password") herstellen; if (! $ conn) {
Die ("Verbindung fehlgeschlagen:". mysql_error ());
}
// Datenbank auswählen
mysql_select_db ("test_db", $ conn);
?>
</code>
Führen Sie eine einfache SQL -Abfrage aus, um alle Benutzerinformationen in der Benutzertabelle zu erhalten:
<Code> & lt;? php $ sql = "ID, Name, E -Mail von Benutzern auswählen"; $ result = mysql_query ($ sql, $ conn); if (! $ result) {
Die ("Abfrage fehlgeschlagen:". mysql_error ());
}
?>
</code>
Als nächstes verwenden wir MySQL_Fetch_array () , um das Abfrageergebnis zu erhalten:
<Code> & lt;? php while ($ row = mysql_fetch_array ($ result, mysql_assoc)) {echo "id:". $ row ["id"]. "& lt; br & gt;"; Echo "Name:". $ row ["Name"]. "& lt; br & gt;"; Echo "E -Mail:". $ row ["E -Mail"]. "& lt; br & gt;"; }? & gt; </code>Im obigen Code übergeben wir die Konstante in MySQL_Assoc , was bedeutet, dass wir die Daten in Bezug auf die Zuordnung des Arrays erhalten möchten. Dies bedeutet, dass wir mit dem Feldnamen auf den Wert jeder Spalte zugreifen können.
Der zweite Parameter von MySQL_Fetch_array () kann auf die folgenden Modi eingestellt werden:
Mysql_assoc : Gibt nur das assoziative Array zurück.
MySQL_NUM : Gibt nur das numerische Indexarray zurück.
MySQL_BOTH (Standard): Gibt sowohl die assoziativen als auch die numerischen Indexarrays zurück.
Beispiel (gleichzeitig Assoziation und Index erhalten):
<Code> & lt;? Php while ($ row = mySql_fetch_array ($ result)) {echo $ row [0]; // Number Index echo $ row ["Name"]; // Feldname verwenden}? & Gt; </code>Hier ist ein vollständiger Nutzungsprozess:
<Code> & lt;? php // Verbindung zur Datenbank $ conn = mysql_connect ("localhost", "root", "password") herstellen; if (! $ conn) {Die ("Verbindung fehlgeschlagen:". Mysql_error ()); }mysql_select_db ("test_db", $ conn);
// Daten abfragen
$ sql = "ID, Name, E -Mail von Benutzern auswählen";
$ result = mysql_query ($ sql, $ conn);
// Ausgabeergebnis
while ($ row = mysql_fetch_array ($ result, mysql_assoc)) {
echo "<p>";
Echo "Benutzer -ID:". $ row ["id"]. "<br>";
Echo "Benutzername:". $ row ["Name"]. "<br>";
Echo "Benutzer -E -Mail:". $ row ["E -Mail"]. "<br>";
Echo "Profil -Link: <a href = 'https://gitbox.net/user/". $ row ["id"]. "'> Ansicht </a>";
echo "</p>";
}
// die Verbindung schließen
MySQL_CLOSE ($ conn);
?>
</code>
MySQL_Fetch_array () bietet eine flexible Möglichkeit, MySQL -Abfrageergebnisse zu erhalten. Obwohl es nicht mehr für die Verwendung in neuen Projekten empfohlen wird, hilft das Verständnis, wie es funktioniert, immer noch beim Verständnis von PHP- und Datenbankinteraktionen. Bei der Aufrechterhaltung eines alten Systems müssen Sie beherrschen, wie man es benutzt.
Bei der Entwicklung neuer Systeme wird empfohlen, stattdessen mySQLI_Fetch_assoc () oder pdostatement :: fetch () zu verwenden. Unabhängig davon, welche Methode verwendet wird, ist das Verständnis der zugrunde liegenden Abfragelogik immer die Grundlage für den Aufbau zuverlässiger Anwendungen.