In PHP müssen wir bei der Verwendung der MySQLI -Erweiterung für Datenbankvorgänge die Abfrageergebnisse in der Regel als CSV -Datei exportieren. Die MySQLi_Result -Klasse wird verwendet, um Abfrageergebnissätze zu verarbeiten und diese Daten als CSV -Datei zu exportieren, die Abfrageergebniszeile nach Zeile lesen und in die CSV -Datei schreiben. In diesem Artikel wird ausführlich erläutert, wie die Funktion mySQLI_Result verwendet wird, um diesen Vorgang zu vervollständigen.
Zunächst müssen wir eine Datenbankverbindung herstellen, um sicherzustellen, dass wir die Daten erfolgreich abfragen können. Hier ist ein Code -Beispiel für die Erstellung einer Verbindung:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_database";
// Eine Verbindung erstellen
$conn = new mysqli($servername, $username, $password, $dbname);
// Überprüfen Sie die Verbindung
if ($conn->connect_error) {
die("Verbindung ist fehlgeschlagen: " . $conn->connect_error);
}
?>
Führen Sie als Nächstes die SQL -Abfrage aus und erhalten Sie das Objekt mySQLi_Result . Angenommen, wir möchten eine Tabelle namens Benutzer abfragen, die Namen und E -Mails aller Benutzer abfragen.
<?php
$sql = "SELECT name, email FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Daten existieren,Kann exportieren
exportToCSV($result);
} else {
echo "Keine Daten";
}
?>
Jetzt werden wir das Objekt mySQLi_Result verwenden, um die Abfrageergebnisse als CSV -Datei zu exportieren. Wir implementieren diese Funktion über die FPUTCSV -Funktion.
<?php
function exportToCSV($result) {
// Dateinamen festlegen
$filename = "users_data_" . date("Y-m-d") . ".csv";
// Öffnen Sie den Ausgangsstrom,Oder erstellen und öffnen a CSV dokumentieren
$output = fopen('php://output', 'w');
// aufstellen HTTP Headerinformationen,强制浏览器下载dokumentieren
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="' . $filename . '"');
// Ausgabe CSV dokumentieren的列头
$columns = $result->fetch_fields();
$header = [];
foreach ($columns as $column) {
$header[] = $column->name;
}
fputcsv($output, $header);
// Ausgabe查询结果
while ($row = $result->fetch_assoc()) {
fputcsv($output, $row);
}
// 关闭Ausgabe流
fclose($output);
}
?>
Im Folgenden ist der vollständige PHP -Code zum Exportieren der Abfrageergebnisse in eine CSV -Datei:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_database";
// Eine Verbindung erstellen
$conn = new mysqli($servername, $username, $password, $dbname);
// Überprüfen Sie die Verbindung
if ($conn->connect_error) {
die("Verbindung ist fehlgeschlagen: " . $conn->connect_error);
}
// Eine Frage ausführen
$sql = "SELECT name, email FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
exportToCSV($result);
} else {
echo "Keine Daten";
}
// Export CSV Funktion
function exportToCSV($result) {
// Dateinamen festlegen
$filename = "users_data_" . date("Y-m-d") . ".csv";
// Öffnen Sie den Ausgangsstrom,Oder erstellen und öffnen a CSV dokumentieren
$output = fopen('php://output', 'w');
// aufstellen HTTP Headerinformationen,强制浏览器下载dokumentieren
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="' . $filename . '"');
// Ausgabe CSV dokumentieren的列头
$columns = $result->fetch_fields();
$header = [];
foreach ($columns as $column) {
$header[] = $column->name;
}
fputcsv($output, $header);
// Ausgabe查询结果
while ($row = $result->fetch_assoc()) {
fputcsv($output, $row);
}
// 关闭Ausgabe流
fclose($output);
}
// Schließen Sie die Datenbankverbindung
$conn->close();
?>
In den obigen Schritten können wir die MySQL -Abfrageergebnisse einfach als CSV -Datei exportieren. Stellen Sie einfach sicher, dass Sie eine Verbindung zur Datenbank herstellen und die Daten korrekt abfragen. Die Ergebnisse können über mySQLI_Result verarbeitet und exportiert werden.