Position actuelle: Accueil> Derniers articles> Utilisez fputcsv () pour exporter mysqli_result comme fichier

Utilisez fputcsv () pour exporter mysqli_result comme fichier

M66 2025-05-28

Fputcsv () est une fonction intégrée en PHP qui écrit les données d'un tableau dans un fichier et les formats au format CSV. Chaque tableau de ligne est converti en lignes de format CSV, et chaque élément du tableau est séparé par une virgule (ou un séparateur spécifié).

Prototype de fonction:

 bool fputcsv ( resource $handle , array $fields [, string $separator = "," [, string $enclosure = "\"" [, string $escape = "\\" ]]] )
  • $ Handle : La poignée du fichier du fichier cible doit être une ressource de fichier valide.

  • $ champs : le tableau à écrire dans un fichier CSV, généralement un résultat obtenu à partir d'une requête de base de données.

  • $ séparateur : spécifie le délimiteur, par défaut à la virgule.

  • $ Enceinte : Spécifie le caractère cité, par défaut est à double devis.

  • $ Escape : Spécifie les caractères d'échappement, par défaut dans la barre arrière.

Étape 1: Connectez-vous à la base de données et exécutez la requête

Tout d'abord, nous devons nous connecter à la base de données et exécuter la requête pour obtenir les données. Voici une connexion de base de données MySQLI de base et une opération de requête:

 <?php
// Connectez-vous à la base de données
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "your_database_name";

$conn = new mysqli($servername, $username, $password, $dbname);

// Vérifiez la connexion
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Exécuter une requête
$sql = "SELECT id, name, email FROM users";  // Échantillon de requête
$result = $conn->query($sql);

// Vérifiez les résultats de la requête
if ($result->num_rows > 0) {
    // Les données peuvent être exportées
} else {
    echo "0 results";
}
?>

Étape 2: Créez et ouvrez le fichier CSV

Nous utilisons la fonction fopen () pour créer et ouvrir un fichier CSV pour stocker les données exportées:

 <?php
// Ouvrir un CSV document(Sinon, créez)
$file = fopen("export.csv", "w");

// Écrire CSV document头部
$headers = ['ID', 'Name', 'Email'];
fputcsv($file, $headers);
?>

Étape 3: Écrivez le résultat de la requête dans le fichier CSV

Ensuite, nous utilisons fputcsv () pour écrire les résultats de requête ligne par ligne dans le fichier CSV. Nous devons utiliser mysqli_fetch_assoc () ou d'autres fonctions pour obtenir chaque ligne de données de la requête et les écrire dans un fichier:

 <?php
// 逐行读取查询结果并Écrire CSV document
while($row = $result->fetch_assoc()) {
    // 将每一行数据Écrire CSV document
    fputcsv($file, $row);
}

// 关闭document
fclose($file);
?>

Étape 4: Fermez la connexion de la base de données

Une fois l'exportation terminée, n'oubliez pas de fermer la connexion de la base de données:

 <?php
// Fermez la connexion de la base de données
$conn->close();
?>

Exemple de code complet:

 <?php
// Connectez-vous à la base de données
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "your_database_name";

$conn = new mysqli($servername, $username, $password, $dbname);

// Vérifiez la connexion
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// Exécuter une requête
$sql = "SELECT id, name, email FROM users";  // Échantillon de requête
$result = $conn->query($sql);

// Vérifiez les résultats de la requête
if ($result->num_rows > 0) {
    // Ouvrir un CSV document(Sinon, créez)
    $file = fopen("export.csv", "w");

    // Écrire CSV document头部
    $headers = ['ID', 'Name', 'Email'];
    fputcsv($file, $headers);

    // 逐行读取查询结果并Écrire CSV document
    while($row = $result->fetch_assoc()) {
        fputcsv($file, $row);
    }

    // 关闭document
    fclose($file);
    echo "Data has been exported to export.csv";
} else {
    echo "0 results";
}

// Fermez la connexion de la base de données
$conn->close();
?>

Résumé complet du processus:

  1. Connectez-vous à la base de données : utilisez MySQLI pour vous connecter à la base de données.

  2. Exécutez la requête : exécutez la requête SQL pour obtenir le jeu de résultats mysqli_result .

  3. Créez un fichier CSV : utilisez fopen () pour ouvrir le fichier CSV et écrire à l'en-tête avec fputcsv () .

  4. Données d'exportation : utilisez la boucle fputcsv () pour écrire chaque ligne de données dans un fichier CSV.

  5. Connexion de fermeture : une fois l'exportation terminée, fermez la poignée du fichier et la connexion de la base de données.

De cette façon, vous pouvez facilement exporter des données à partir de votre base de données dans des fichiers CSV, ce qui facilite le stockage, la migration ou l'analyse des données.