Heim > Artikel > Backend-Entwicklung > Gibt PHP-Abfrage MySQL ein Array zurück?
PHP ist eine im Bereich der Webentwicklung weit verbreitete Skriptsprache, während MySQL ein weit verbreitetes relationales Datenbankverwaltungssystem ist. In PHP können wir die MySQL-Erweiterung verwenden, um die MySQL-Datenbank zu verbinden und zu betreiben. Wenn wir unter anderem die SELECT-Anweisung zum Abfragen von Daten in der MySQL-Datenbank verwenden, können wir die Abfrageergebnisse auf verschiedene Arten erhalten, unter anderem durch die Rückgabe eines Arrays.
In PHP ist die Verwendung von MySQLi oder PDO zum Betrieb der MySQL-Datenbank die gebräuchlichste Methode. Im Folgenden wird beschrieben, wie Sie diese beiden Erweiterungen verwenden, um die MySQL-Datenbank abzufragen und Arrays zurückzugeben.
Verwenden Sie die MySQLi-Erweiterung, um die MySQL-Datenbank abzufragen und ein Array zurückzugeben.
Wenn Sie die MySQLi-Erweiterung zum Abfragen der MySQL-Datenbank verwenden, können Sie die query()-Methode von MySQLi verwenden, um die SELECT-Anweisung auszuführen und die Abfrageergebnisse zu erhalten. Die Methode query() gibt ein Ergebnismengenobjekt zurück. Wir können die Array-Form der Abfrageergebnisse erhalten, indem wir die Methode fetch_all() aufrufen.
Der Beispielcode lautet wie folgt:
// 建立MySQL数据库连接 $conn = new mysqli('localhost', 'root', 'password', 'database'); // 执行SELECT语句并获取查询结果 $result = $conn->query("SELECT * FROM table"); // 将查询结果转化为数组形式 $rows = $result->fetch_all(MYSQLI_ASSOC); // 输出查询结果数组 foreach ($rows as $row) { print_r($row); } // 关闭MySQL连接 $conn->close();
Unter anderem bedeutet der Parameter MYSQLI_ASSOC der fetch_all()-Methode die Konvertierung der Abfrageergebnisse in eine assoziative Array-Form. Sie können MYSQLI_NUM auch verwenden, um die Ergebnisse in eine numerische Index-Array-Form umzuwandeln , oder verwenden Sie MYSQLI_BOTH, um gleichzeitig ein assoziatives Array und eine numerisch indizierte Array-Form zurückzugeben.
Verwenden Sie die PDO-Erweiterung, um die MySQL-Datenbank abzufragen und ein Array zurückzugeben.
Wenn Sie die PDO-Erweiterung zum Abfragen der MySQL-Datenbank verwenden, können Sie die query()-Methode oder die Prepare()-Methode von PDO zum Abfragen verwenden. Die Methode query() führt die SQL-Anweisung direkt aus und gibt das Ergebnismengenobjekt zurück, während die Methode Prepare() die Methode Execute() aufrufen muss, um die vorverarbeitete SQL-Anweisung auszuführen und ein vorbereitetes Anweisungsobjekt zurückzugeben. Unabhängig davon, welche Methode verwendet wird, kann das Ergebnismengenobjekt durch Aufrufen der fetchAll()-Methode in eine Array-Form umgewandelt werden.
Der Beispielcode lautet wie folgt:
// 建立MySQL数据库连接 $conn = new PDO('mysql:host=localhost;dbname=database', 'root', 'password'); // 执行SELECT语句并获取查询结果 $result = $conn->query("SELECT * FROM table"); // 将查询结果转化为数组形式 $rows = $result->fetchAll(PDO::FETCH_ASSOC); // 输出查询结果数组 foreach ($rows as $row) { print_r($row); } // 关闭MySQL连接 $conn = null;
Unter anderem bedeutet der Parameter PDO::FETCH_ASSOC der fetchAll()-Methode, das Ergebnismengenobjekt in eine assoziative Array-Form umzuwandeln. Sie können auch PDO::FETCH_NUM verwenden, um zu bedeuten um das Ergebnis in eine numerische Index-Array-Form umzuwandeln, oder verwenden Sie PDO::FETCH_BOTH, um sowohl assoziative Array- als auch numerische Index-Array-Formen zurückzugeben.
Zusammenfassung
Oben wird erläutert, wie Sie MySQLi- und PDO-Erweiterungen verwenden, um die MySQL-Datenbank abzufragen und Abfrageergebnisse in Form von Arrays zurückzugeben. Verschiedene Erweiterungsfunktionen verfügen über unterschiedliche Aufrufmethoden, ihr Kern besteht jedoch darin, das Abfrageergebnissatzobjekt zurückzugeben und es in eine Array-Form umzuwandeln. In der tatsächlichen Entwicklung können je nach spezifischen Umständen unterschiedliche Erweiterungsfunktionen zum Abfragen der MySQL-Datenbank ausgewählt werden.
Das obige ist der detaillierte Inhalt vonGibt PHP-Abfrage MySQL ein Array zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!