Maison > base de données > tutoriel mysql > Comment puis-je exporter efficacement les résultats d'une requête MySQL au format CSV à l'aide de PHP ?

Comment puis-je exporter efficacement les résultats d'une requête MySQL au format CSV à l'aide de PHP ?

Barbara Streisand
Libérer: 2024-12-13 01:05:10
original
738 Les gens l'ont consulté

How Can I Efficiently Export MySQL Query Results to CSV Using PHP?

Conversion des requêtes MySQL en CSV en PHP

En PHP, l'exportation de données des requêtes MySQL vers CSV peut être réalisée efficacement sans utiliser de ressources temporaires. fichiers. Voici deux méthodes efficaces pour accomplir cette tâche :

Utilisation de SELECT ... INTO OUTFILE de MySQL :

Cette requête génère directement le résultat dans un fichier CSV :

SELECT * INTO OUTFILE "c:/mydata.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM my_table;
Copier après la connexion

Utilisation du code PHP :

Ce code sélectionne le data, les formate au format CSV et les envoie en réponse :

$select = "SELECT * FROM table_name";

$export = mysql_query ( $select ) or die ( "Sql error : " . mysql_error( ) );

$fields = mysql_num_fields ( $export );

// Get header
for ( $i = 0; $i < $fields; $i++ )
{
    $header .= mysql_field_name( $export , $i ) . "\t";
}

// Get data
while( $row = mysql_fetch_row( $export ) )
{
    $line = '';
    foreach( $row as $value )
    {                                            
        if ( ( !isset( $value ) ) || ( $value == "" ) )
        {
            $value = "\t";
        }
        else
        {
            $value = str_replace( '"' , '""' , $value );
            $value = '"' . $value . '"' . "\t";
        }
        $line .= $value;
    }
    $data .= trim( $line ) . "\n";
}

// Send response
$data = str_replace( "\r" , "" , $data );

if ( $data == "" )
{
    $data = "\n(0) Records Found!\n";                        
}

header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=your_desired_name.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";
Copier après la connexion

Ces deux méthodes convertissent efficacement les résultats des requêtes MySQL au format CSV en PHP, le choix de l'approche dépendant de facteurs tels que la base de données taille et flexibilité souhaitée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal