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:
Le code ci-dessus va me générer cette requete:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $userTrans = $this->fetchRow(array("range = ?" => $idRange, "language = ?" => $lg );
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 .........![]()
Partager