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

PostgreSQL Discussion :

SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "GFH" at character 58


Sujet :

PostgreSQL

  1. #1
    Futur Membre du Club
    Inscrit en
    avril 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "GFH" at character 58
    Bonjour,

    Je veux utiliser la fonction suivante pour insérer des lignes ds une table depuis un script php:

    create or replace function creauserauth(varchar,varchar,varchar,varchar,varchar) returns void as $$
    declare
    sir alias for $1;
    ema alias for $2;
    com alias for $3;
    newus alias for $4;
    psw alias for $5;
    ret TEXT;
    begin
    insert into userauth(siret,email,commonname,username,pswd) values (sir,ema,com,newus,psw);
    return;
    end;
    $$ language 'plpgsql';

    et le script php :

    $sql2 = "select creauserauth($tab[2],$tab[3],$tab[9],$tab[8],$tab[10])";
    $stmt= $dbh->prepare($sql2);
    $stmt->execute();

    et voilà le rendu :


    erreur ! : SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "GFH" at character 58

    Je n'arrive pas à comprendre l'erreur...
    Merci d'avance aux éclairés...
    Patrick Charda

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    mars 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : mars 2007
    Messages : 114
    Points : 122
    Points
    122
    Par défaut
    c'est quoi les valeurs qu'il y a dans les tab ???

    sinon pour la requête insert, sir les champs sont de type text, ne faut-il pas des ' autour des chaines ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    insert into 
    userauth(champstext1,champstext2,champstext3,champstext4,champstext5) 
    values ('chaine1', 'chaine2', 'chaine3', 'chaine4', 'chaine5');

  3. #3
    Futur Membre du Club
    Inscrit en
    avril 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 6
    Points : 7
    Points
    7
    Par défaut merci pour la piste
    Merci pour la piste : effectivement il fallait "caster" comme suit :

    CREATE OR REPLACE FUNCTION creauserauth("varchar", "varchar", "varchar", "varchar", text)
    RETURNS void AS
    $BODY$
    insert into userauth(siret,email,commonname,username,pswd) values (CAST($1 as integer),cast($2 as varchar(60)),cast($3 as varchar(35)),cast($4 as varchar(10)),CAST($5 as text));
    $BODY$
    LANGUAGE 'sql' VOLATILE;

    et à l'appel depuis PHP utiliser les accolades :

    $sql2 = "select * from creauserauth('{$tab[2]}','{$tab[3]}','{$tab[9]}','{$tab[8]}','{$tab[10]}')";
    $result = $dbh->query($sql2);

    @ bientôt
    Patrick Charda

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

Discussions similaires

  1. LDAP Error: Invalid DN syntax (34) for user
    Par ledawa dans le forum RedHat / CentOS / Fedora
    Réponses: 0
    Dernier message: 16/05/2012, 19h11
  2. Error my SQL syntax
    Par maumen dans le forum Développement
    Réponses: 2
    Dernier message: 27/12/2009, 22h03
  3. Parse error ! Où est l'error ? Merci
    Par mathieu7497 dans le forum Langage
    Réponses: 2
    Dernier message: 08/04/2006, 19h15
  4. visual c++: error LNK2019 et fatal error LNK1120
    Par moimoi_1 dans le forum MFC
    Réponses: 2
    Dernier message: 05/11/2005, 08h41
  5. [SERVLET][STRUTS]Error 500--Internal Server Error
    Par Devil666 dans le forum Struts 1
    Réponses: 7
    Dernier message: 27/06/2005, 14h07

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