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 :

[SQL] Problème exécution sql pour insertion fichier csv


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Points : 16
    Points
    16
    Par défaut [SQL] Problème exécution sql pour insertion fichier csv
    Bonjour à vous,

    Je cherche à exécuter une requête d'insertion d'un fichier csv avec php mais je galère. Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $server = 'localhost';
    $login = 'user';
    $pass = 'pass';
    $db= 'base';
     
    $link = mysqli_connect($server, $login, $pass, $db);
     
    $sql = "LOAD DATA LOCAL INFILE 'C:\\ToImport\\temp.csv' INTO TABLE t_carnetcommande FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'";
     
    $result = mysqli_query($link, $sql) or trigger_error('Requête invalide', E_USER_ERROR);
    J'ai visiblement un problème dans ma requête.

    Pourtant, elle fonctionne très bien tel quel par un copier-coller dans l'exécuteur de requête de phpmyadmin. J'ai aussi vérifier ma connection à la base de données: pas de problème de ce côté là non plus car j'arrive à exécuter d'autres requêtes.

    Pouvez-vous s'il vous plaît m'aider à trouver ce qui ne va pas dans ma requête?

    Merci d'avance.

    A+

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Tu as un message d'erreur ?
    La connexion est-elle bien effectuée ?
    J'ai remarqué qu'il y avait cette possibilité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    /* Vérification de la connexion */
    if (mysqli_connect_errno()) {
        printf("Echec de la connexion : %s\n", mysqli_connect_error());
        exit();
    }
    Sinon mysqli est installé (c'est la question la plus importante )

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Mon message d'erreur c'est que ma requête n'arrive pas à être exécuter. C'est uniquement là que ça bloque.

    Sinon, je n'ai aucun problème de connexion avec mysqli (qui est bien installé) puisque je peux faire des requêtes SELECT, TRUNCATE et autres sans problème avec cette méthode.

    J'ai également vérifié que j'avais tous les droits nécessaires pour importer un fichier avec LOAD DATA INFILE. Pas de problème aussi.

    Toutes mes requêtes fonctionnent sauf cette requête d'insertion du fichier csv.

    Une idée?

    A+

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Pourquoi ne pas faire à l'ancienne ?? comme ceci : Comment extraire les données d'un fichier CSV ? et en rajoutant le insert

    moi j'utilise pas ce genre de requête

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 18
    Points : 16
    Points
    16
    Par défaut
    Faire cela ne me sert à rien!

    Mon but n'est pas d'extraire les données du csv... mais de tout insérer dans la base de données.

    Mon fichier csv fait plus de 10 000 lignes, je me vois mal faire 10 000 requêtes INSERT (!!!) à chaque fois par une boucle qui va analyser ligne par ligne le csv. De plus, ce fichier csv est généré tous les jours par notre ERP et il faut intégrer ces valeurs tous les jours pour en tirer des données statistiques.

    D'où mon idée d'insérer le contenu du fichier en une seule fois par une requête LOAD DATA INFILE sinon bonjour les temps de traitement...

    A+

Discussions similaires

  1. Problème pour télécharger fichier .csv sous IE
    Par julie4207 dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 12/02/2009, 10h08
  2. [SQL] Problème de requête d'insertion dans une base SAGE
    Par Swapyyy dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/07/2008, 10h14
  3. Réponses: 1
    Dernier message: 16/03/2008, 19h06
  4. [SQL] Problème lors de l'insertion d'un enregistrement dans ma base de données.
    Par Velkan.nexus dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 09/10/2007, 11h59
  5. [PL/SQL]problème avec la lecture de fichier
    Par magicbisous-nours dans le forum SQL
    Réponses: 4
    Dernier message: 16/05/2007, 16h17

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