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é).
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.
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";
}
?>
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);
?>
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);
?>
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();
?>
<?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();
?>
Connectez-vous à la base de données : utilisez MySQLI pour vous connecter à la base de données.
Exécutez la requête : exécutez la requête SQL pour obtenir le jeu de résultats mysqli_result .
Créez un fichier CSV : utilisez fopen () pour ouvrir le fichier CSV et écrire à l'en-tête avec fputcsv () .
Données d'exportation : utilisez la boucle fputcsv () pour écrire chaque ligne de données dans un fichier CSV.
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.