Aktueller Standort: Startseite> Neueste Artikel> Exportieren Sie MySQLI_Result -Daten in die CSV -Datei

Exportieren Sie MySQLI_Result -Daten in die CSV -Datei

M66 2025-05-28

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.

1. Verbinden Sie eine Verbindung zur Datenbank

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);
}
?>

2. Ausführen von Anfragen

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";
}
?>

3. Exportieren Sie Daten als CSV -Datei

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);
}
?>

4. CODE CODE -Beispiel

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.