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 Db Select Where et backtick = syntax error


Sujet :

Zend_Db PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut Zend Db Select Where et backtick = syntax error
    Bonjour à tous!

    Je suis passé à MySql version 5.1.37-1ubuntu5.1 sur une ubuntu 9.10

    Depuis dès que je génère une requete MySql avec une clause WHERE, MySql me renvoi une erreur de syntaxe car dans la clause where il manque les backticks autour du champ:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $userTrans = $this->fetchRow(array("range = ?" => $idRange, "language = ?" =>  $lg );
    Le code ci-dessus va me générer cette requete:
    SELECT `rangeLangs`.* FROM `rangeLangs` WHERE (range = '2') AND (language = 'fr') LIMIT 1

    Vous remarquerez que dans les clauses WHERE et AND les champs ne sont pas entourés de backtick. Dans phpMyAdmin si je copie-colle la requete j'ai la même erreur. Si je rajoute les backticks je n'ai plus d'erreur.
    Pour ma part il s'agit d'un bug ZF qui d'ailleur a déjà été reporté mais non fixé vu que j'utilise la version 1.10.2 .
    Je sais que MySql oblige d'utiliser les backticks pour ses mots réservés, ce qui est logique, mais j'ai regardé et visiblement 'range' et 'language' n'en font pas partie...

    A part modifier toutes les requetes à la main y a t-il une solution simple pour remédier à ce problème? Car j'ai beaucoup de requetes à modifier si c'est ça et franchement ça me donne envie de .........

  2. #2
    Membre chevronné Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2004
    Messages : 488
    Par défaut
    Oups!

    Je reviens sur le post car depuis MySql 5.1 le mot 'range' est un mot réservé...
    ça n'enlève toutefois pas le fait que ZF devrait ajouter dynamiquement des backticks dans les clauses WHERE ET AND....

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 19/07/2012, 00h26
  2. [MySQL 4.1.12][Debutant] Select syntax error
    Par Cian dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/01/2007, 18h29
  3. question sur SELECT ...WHERE...IN
    Par danseur dans le forum Requêtes
    Réponses: 3
    Dernier message: 23/01/2004, 15h23
  4. Select * Where {}
    Par Thomad dans le forum Langage SQL
    Réponses: 14
    Dernier message: 16/10/2003, 21h27
  5. "vector" provoque "syntax error", malgré
    Par seenkay dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 24/08/2003, 03h21

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