Comment puis-je importer efficacement des données CSV dans MySQL à l'aide de PHP, en résolvant les problèmes courants tels que les incompatibilités de types de données et les délais d'exécution ?

Susan Sarandon
Libérer: 2024-11-20 22:36:19
original
734 Les gens l'ont consulté

How Can I Effectively Import CSV Data into MySQL Using PHP, Addressing Common Issues Like Data Type Mismatches and Execution Time Limits?

Importation de données CSV à l'aide de PHP/MySQL

L'importation de données d'un fichier CSV dans une base de données MySQL est une tâche courante qui peut être obtenus grâce à diverses méthodes. Une approche populaire consiste à utiliser PHP pour traiter les données et les insérer dans la base de données.

Texte affiché sous la forme 0

Dans le code fourni, le problème où les données texte est affiché comme 0 dans la base de données provient probablement de l'instruction mysql_query où la variable $import est utilisée. Assurez-vous que l'élément $data[0] du tableau $data contient bien la valeur de texte qui doit être insérée dans la colonne "texte". Vérifiez à nouveau que le fichier CSV est formaté avec les valeurs et la séparation des colonnes correctes.

Données entre guillemets

Les données entre guillemets sont généralement un résultat du fichier CSV comportant des guillemets doubles entourant les champs. Pour gérer cela, déclarez les clauses FIELDS TERMINATED BY et OPTIONALLY ENCLOSED BY dans la requête LOAD DATA INFILE pour spécifier le délimiteur de champ et les caractères englobants.

Ignorer les premières lignes du CSV

Pour ignorer les premières lignes du fichier CSV (par exemple, les en-têtes), les LINES La clause TERMINATED BY peut être modifiée pour y parvenir. Par exemple, LINES TERMINATED BY 'n' ESCAPED BY '\n' IGNORE 1 LINES ignorera la première ligne du fichier CSV.

Conversion du format de données

Le Le format des données est généralement conservé pendant le processus d'importation. Cependant, des problèmes de précision peuvent survenir avec certains types de données. Par exemple, si le fichier CSV contient des nombres à virgule flottante, ils peuvent être convertis en nombres entiers dans la base de données si la colonne cible est définie comme un type entier. Pour éviter cela, assurez-vous que les types de données des colonnes dans la base de données correspondent aux types de données attendus dans le fichier CSV.

Durée d'exécution maximale dépassée

L'erreur "Erreur fatale : Temps d'exécution maximum de 30 secondes dépassé" indique que le script PHP a dépassé le temps d'exécution maximum imposé par la configuration PHP. Pour résoudre ce problème, le délai d'exécution peut être augmenté en modifiant la directive max_execution_time dans le fichier de configuration PHP (par exemple, php.ini). Vous pouvez également envisager d'utiliser la méthode MySQL LOAD DATA INFILE décrite précédemment, qui peut effectuer l'importation beaucoup plus rapidement sans impliquer de limitations de temps d'exécution du script PHP.

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