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

Requêtes PostgreSQL Discussion :

Problème de syntaxe [9.2]


Sujet :

Requêtes PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Par défaut Problème de syntaxe
    Bonjour à tous,

    j'utilise depuis hier postgreSQL car je peux faire plus de chose que sur MySQL.
    Seulement j'ai un script php avec un insertion dans une table a partir d'un fichier csv qui marche avec un fichier mais pas un autre et je comprend pas pourquoi Oo .

    L'erreur retourné est celle ci :
    ( ! ) Warning: pg_query() [<a href='function.pg-query'>function.pg-query</a>]: Query failed: ERREUR: erreur de syntaxe sur ou près de « OC » LINE 3: values ('1','4/19/2013','L.2013.MP5.30054','AGRO D'OC') ^ in C:\wamp\www\test.php on line 25
    Call Stack
    # Time Memory Function Location
    1 0.0008 370176 {main}( ) ..\test.php:0
    2 0.2031 380824 pg_query ( ) ..\test.php:25

    Voici mon code :
    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
    17
    18
    19
    <?php
     
    // connexion
    $c=pg_connect("host=localhost dbname=*** user=*** password=***") or die("Impossible de se connecter");
     
    	$sql0 = " delete from test1; ";
    	pg_query($sql0) or die("Impossible d'executer la requete2");
        $fic = fopen("C:\\Users\\stagiaire\\Documents\\test_final_3.csv", "r");
        while($tab = fgetcsv($fic,1024,','))
        {
     
    			$sql2 = " 
    				insert into test1(identifiant,libelle,date,expe)
    				values ('".$tab[0]."','".$tab[1]."','".$tab[2]."','".$tab[3]."') ";
     
    			pg_query($sql2) or die("Houston Problem SQL");
        }
        fclose($fic);
    ?>
    et ce marche avec ce fichier :

    nommé final.csv

    et pas celui la :

    nommé test_final.csv


    pouvez vous m'aidez s'il vous plait, c'est au niveau de la requête que cela ne fonctionne pas :S
    Elle marche pour l'un et pas pour l'autre

    EDIT: plus précisément il n'y a que la première ligne d’insérée mais pas le reste comme ceci :


  2. #2
    Membre Expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Billets dans le blog
    8
    Par défaut
    Salut
    Le problème vient de l'apostrophe dans D'OC.
    Essaye si le guillemet dollar $$ passe à la place de guillemet ".
    @+

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Par défaut
    Ah ué j'avais pas pensé que ca pouvait être l'apostrophe.
    Le guillement $$ ne passe pas :S

  4. #4
    Membre Expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Billets dans le blog
    8
    Par défaut
    je m'excuse. C'est plutôt l'apostrophe (quote simple ') qu'il faut remplacer par guillemet $$ dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    values ('".$tab[0]."','".$tab[1]."','".$tab[2]."','".$tab[3]."') ";
    pour avoir...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    values ($$".$tab[0]."$$,$$".$tab[1]."$$,$$".$tab[2]."$$,$$".$tab[3]."') ";
    .
    Le problème est de savoir comment faire comprendre cela à PHP.
    @+

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Par défaut
    Je te remercie ca marche parfaitement

    C'est parfait toutes les lignes se sont insérés dans le tableau Youhou

  6. #6
    Membre Expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Billets dans le blog
    8
    Par défaut
    N’oublie pas
    @+

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

Discussions similaires

  1. Problème de syntaxe - elements['x'].value
    Par Equus dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/02/2005, 12h22
  2. [Interbase] Problème de syntaxe SQL
    Par navis84 dans le forum InterBase
    Réponses: 4
    Dernier message: 22/12/2004, 18h07
  3. Problème de syntaxe
    Par Mister_FX dans le forum ASP
    Réponses: 5
    Dernier message: 30/06/2004, 11h01
  4. Problème de syntaxe ADO ...
    Par bendev dans le forum ASP
    Réponses: 2
    Dernier message: 15/04/2004, 15h38
  5. Réponses: 2
    Dernier message: 08/03/2004, 16h10

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