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 :

Comment injecter un csv dans Mysql


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2014
    Messages : 6
    Par défaut Comment injecter un csv dans Mysql
    Bonjour,

    J'ai un fichier CSV que je doit injecter régulierement dans une bd, si je passe pas phpmyadmin avec la commande :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LOAD DATA INFILE 'C:\Documents and Settings\deva3\Mes documents\Dropbox\importsql\test.csv' INTO TABLE test FIELDS TERMINATED BY ';' ENCLOSED BY ''
    LINES STARTING BY '' TERMINATED BY '\n'    ( `c1`, `c2`, `c3`)

    Ca fonctionne ,

    Mais comment faire cette commande avec php ?

    j'ai essayé ce-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $db = mysql_connect("localhost", "test", "test");  // connexion à la base
    mysql_select_db('test',$db);                  // sélection de la base
    $sql="LOAD DATA INFILE 'C:\Documents and Settings\deva3\Mes documents\Dropbox\importsql\test.csv' INTO TABLE test FIELDS TERMINATED BY ';' ENCLOSED BY ''
    LINES STARTING BY '' TERMINATED BY '\n'    ( `c1`, `c2`, `c3`)";
    $requete_sql = mysql_query($sql) or die(mysql_error());
    mysql_close();  // on ferme la connexion
    mais il n'injecte rien et pas de message d'erreur ?

    Pouvez vous m'orienter ?

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 188
    Par défaut
    Salut,

    Moi je ferai la chose suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $lignes = file($tom_fichier_csv);
    if(si_array($lignes))
    {
    foreach($lignes as $l){
    $temp = explode(';',$l);
    $req='INSERT INTO ta_table (champ1,champ2,champ3) VALUES ('.$l[0].','.$l[1].','.$l[3].')';
    execution de ta requête
    }
     
    }

Discussions similaires

  1. Import CSV dans Mysql
    Par wylls dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/01/2007, 13h47
  2. comment créer un triggeur dans mysql
    Par yoyothebest dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 13/07/2006, 12h33
  3. Import de fichier Excel (CSV) dans MySQL
    Par mathieu77186 dans le forum Outils
    Réponses: 2
    Dernier message: 27/03/2006, 23h23
  4. Importer CSV dans MySQL
    Par The_freeman dans le forum Administration
    Réponses: 6
    Dernier message: 14/02/2006, 22h18
  5. Comment gérer le grec dans MySQL ?
    Par LadyArwen dans le forum Requêtes
    Réponses: 14
    Dernier message: 27/01/2005, 09h24

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