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

Zend_Db PHP Discussion :

Zend et LOAD DATA LOCAL INFILE


Sujet :

Zend_Db PHP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 178
    Points : 56
    Points
    56
    Par défaut Zend et LOAD DATA LOCAL INFILE
    Bonjour,

    Je suis en train d'écrire une requête pour charger rapidement un csv dans ma table mysql. En ligne de commande, le chargement LOAD DATA LOCAL INFILE se fait très rapidement. Par contre lorsque je passe pas un script PHP, j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: PDOStatement::execute() [pdostatement.execute]: LOAD DATA LOCAL INFILE forbidden in C:\wamp\www\Zend\Db\Statement\Pdo.php on line 230
    Ma fonction de chargement est la suivante :

    Code : 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
     
     
    public function charge($chemin,$nomTable,$fields){
     
                    $registry = Zend_Registry::getInstance();
    		$db = $registry->get('db');
    		$insertSQL = $db->prepare("
     
    		LOAD DATA LOCAL INFILE '$chemin' 
    		INTO TABLE $nomTable
    		FIELDS TERMINATED BY ','
    		LINES TERMINATED BY '\n'
    		($fields); ");
     
    		$insertSQL->execute();
    }
    Lorsque j'enlève le LOCAL dans LOAD DATA j'ai par contre une erreur m'indiquant que ma table existe déjà.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S01]: Base table or view already exists: 1050
    Hors si je commente la ligne $insertSQL->execute(); à ce moment j'ai aucune erreur mais aucune donnée n'est insérée !!!

    Quelqu'un a t-il une idée d'où peut venir le problème ? Merci

  2. #2
    Membre éprouvé
    Avatar de 5h4rk
    Homme Profil pro
    CTO at TabMo
    Inscrit en
    Février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : CTO at TabMo
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 813
    Points : 1 297
    Points
    1 297
    Par défaut
    Tu es sur que ce que tu tente de charger n'existe pas déjà car le message semble signaler cela.

    Et c'est normal que ça ne fasse rien sans le execute, car c'est cette commande qui permet d'exécuter la requête que tu prépare

Discussions similaires

  1. Activer LOAD DATA LOCAL INFILE
    Par m-mas dans le forum Requêtes
    Réponses: 4
    Dernier message: 07/01/2008, 11h44
  2. probleme avec <<load data local infile etc>> errcode: 2
    Par oumaridia dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 11/11/2007, 08h13
  3. LOAD DATA LOCAL INFILE
    Par bruno782 dans le forum Administration
    Réponses: 9
    Dernier message: 15/02/2006, 14h35
  4. Autoriser le LOCAL de LOAD DATA LOCAL INFILE
    Par talvins dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 03/02/2006, 09h09
  5. LOAD DATA LOCAL INFILE????
    Par perlgirl dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 05/01/2005, 18h31

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