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

SQL Procédural MySQL Discussion :

[LOAD DATA] mise à jour de fichier texte


Sujet :

SQL Procédural MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 96
    Points : 65
    Points
    65
    Par défaut [LOAD DATA] mise à jour de fichier texte
    Bonjour,
    Je voudrais faire un script permettant de remplacer le contenu d'une table avec un fichier text (je recoit un fichier texte de mise à jours par semaine)
    J'utilise donc la fonction LOAD DATA mais ça ne fonctionne pas:

    Mon code fichier maj1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $req=mysql_query(LOAD DATA LOCAL INFILE 'PRICE.txt' REPLACE INTO TABLE 'infoone_tbl' 
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    ESCAPED BY '\\'
    LINES TERMINATED BY '\r\n') or die ('Erreur SQL !');
     
    echo 'mise à jours effectuée !';

    Message erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Parse error: syntax error, unexpected T_STRING in /home/infoo/public_html/maj1.php on line 18

    Merci

  2. #2
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Salut,

    C'est une erreur PHP et non MySQL.

    Dans ton code, il y a notamment un problème avec mysql_query() dont le paramètre doit être une chaîne. Il va donc falloir y rajouter des guillemets.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 96
    Points : 65
    Points
    65
    Par défaut
    où dois-je mettre les guillemets?
    Et mon fichier PRICE.txt doit bien etre sur le serveur local au meme niveau que ma page php?
    merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 96
    Points : 65
    Points
    65
    Par défaut
    J'ai trouvé où mettre les guillemets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $req=mysql_query("LOAD DATA LOCAL INFILE 'PRICE.txt' REPLACE INTO TABLE 'infoone_tbl' 
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    ESCAPED BY '\\'
    LINES TERMINATED BY '\r\n'") or die ('Erreur SQL !');
    
    echo 'mise à jours effectuée !';
    Mais il ne reconnait pas la syntax ESCAPED BY '\\'

    Merci pour ta réponse biglo

  5. #5
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Citation Envoyé par freija
    Mais il ne reconnait pas la syntax ESCAPED BY '\\'
    Il faut en mettre 2 de plus car \ est le caractère d'échappement en PHP :


  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 96
    Points : 65
    Points
    65
    Par défaut
    ça ne fonctionne toujours pas !

  7. #7
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Faut donner un peu plus de détails (message d'erreur, comportement, ...)

    Mais il y a sûrement d'autres erreurs d'échappement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $req=mysql_query("LOAD DATA LOCAL INFILE 'PRICE.txt' REPLACE INTO TABLE infoone_tbl
    FIELDS TERMINATED BY ','
    ENCLOSED BY '\"'
    ESCAPED BY '\\\\'
    LINES TERMINATED BY '\\r\\n'") or die ('Erreur SQL !');

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

Discussions similaires

  1. mise à jour de fichiers textes
    Par pas30 dans le forum Langage
    Réponses: 1
    Dernier message: 01/09/2012, 12h37
  2. Mise à jour du fichier server.xml
    Par coeurgan dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 11/08/2006, 12h27
  3. Mise à jour des fichiers syst lors d'une installation
    Par Asdorve dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 03/07/2006, 15h27
  4. Mise à jour du fichier sécurité
    Par UVCR dans le forum XMLRAD
    Réponses: 2
    Dernier message: 23/03/2006, 08h47
  5. [HTML] Problème mise à jour des fichiers en cache
    Par El Riiico dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 05/09/2005, 17h00

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