IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème d'import de données à partir d'un fichier CSV [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 130
    Points : 60
    Points
    60
    Par défaut Problème d'import de données à partir d'un fichier CSV
    Bonjour,

    j'ai un problème d'import vers une table MySQL à partir d'un fichier CSV ... donc je cherche une bonne solution sûre, pour bien faire l'injection de données.

  2. #2
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut bonjour
    Oui et ? ce site ne fonctionne pas comme google...
    Il suffit de taper dans google: "MySQL importer fichier csv", vous trouverez facilement des fonctions comme LoadDataFromFile etc...

    Quand vous aurez fait des recherches ET tester ET qu'il reste des problèmes que vous n'arrivez pas à résoudre, je vous aiderai de nouveau.
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 015
    Points : 23 704
    Points
    23 704
    Par défaut
    Citation Envoyé par mactwist69 Voir le message
    vous trouverez facilement des fonctions comme LoadDataFromFile etc...
    Sous MySQL, c'est plutôt LOAD DATA INFILE...
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2012
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 130
    Points : 60
    Points
    60
    Par défaut
    Citation Envoyé par ced Voir le message
    Sous MySQL, c'est plutôt LOAD DATA INFILE...

    Merci. Voilà mon code :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <?php 
    $fichier='laissez_passer.csv';
     
    try{
    				$con = new PDO('mysql:host=localhost;dbname=archivessql','root','');
     
    $query = "LOAD DATA INFILE $fichier  INTO TABLE laissez_passer FIELDS TERMINATED BY ';'  ENCLOSED BY '' ";
     
           $con->exec($query);
                            echo "{'success':'Insertion Réussie !'}";
     
     } catch (PDOException $e) {
                echo $e->getMessage();
            }
     
     
    ?>



    Et voilà un extrait de mon fichier csv :

    TK5365079;MITAMURA;TETSUYA;JAPAN;2013;2013-09-04;04/09/2013,05/09/2013,;AMADID=>11/09/2013 09:59;2013-09-05 09:02:15;NULL;2013-09-11 00:00:00
    les champs dans ma table :

    nnpass;nom;prenom;nationalite;anne;date_inscreption;date_visite;historique de_visite;date_ajou;date_modification;date_supression
    quand j’exécute rien ne se passe.
    Merci d'avance.

  5. #5
    Membre du Club
    Femme Profil pro
    informaticienne
    Inscrit en
    Juillet 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : informaticienne
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 81
    Points : 47
    Points
    47
    Par défaut import
    En fait je pense lorsque tu précises le nom de ton fichier tu dois le faire de la sorte:
    par exemple si ton fichier csv est dans C:\Users\TOI
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fichier='C\Users\TOI\fichier.csv'
    En gros tu dois préciser, je pense le chemin absolu ou même relatif (ça marche). Car sans cela, ton programme ne sait pas où chercher.
    Espérant que cela va t'aider

  6. #6
    Membre éprouvé Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Points : 1 105
    Points
    1 105
    Par défaut
    Bonjour,

    Je ne pense pas que ton problème vienne de mysql mais plutôt de PHP.

    As-tu essayé ta commande directement en ligne de commande ?

    Lors de la connexion à mysql via PHP, il y a un bug qui empêche le chargement des fichiers locaux. La solution consiste donc à passer par une commande système :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("mysql -u $dbUser -h $dbHost --password=$dbPass --local_infile=1 -e \"$sql\" $dbName");
    Tu noteras l'option --local_infile=1

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Importation de données à partir d'un fichier CSV
    Par quentin22breizh dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/09/2012, 10h43
  2. Réponses: 4
    Dernier message: 16/09/2010, 22h33
  3. importation de données à partir d'un fichier XLS
    Par wehtam dans le forum Langage
    Réponses: 3
    Dernier message: 04/02/2008, 10h33
  4. Réponses: 2
    Dernier message: 26/01/2007, 14h58
  5. Réponses: 8
    Dernier message: 22/08/2006, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo