|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Membre éprouvé
![]() Christophe CharronDéveloppeur informatique Inscription : juillet 2005 Messages : 768 ![]() |
Bonjour,
en php,je souhaite faire : Code :
SELECT * FROM article WHERE code ='aa--25' Citation:
Comment puis-je échapper les 2 tirets ? D'avance, merci pour vos suggestions.
__________________
Cordialement, Christophe Charron Pour consulter mon site professionnel, vous pouvez cliquer sur le bouton prévu à cet effet, juste sous la signature |
|
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Dans PHP -- est interprété comme fin de commande SQL ??
C'est donc un probleme php et non firebird, peut etre si vous postiez ou cherchiez dans le forum PHP vous trouverez plus facilement. |
|
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() Christophe CharronDéveloppeur informatique Inscription : juillet 2005 Messages : 768 ![]() |
Bonsoir,
non, c'est bien firebird qui renvoie le message : http://img4.imageshack.us/img4/5030/err1z.png
__________________
Cordialement, Christophe Charron Pour consulter mon site professionnel, vous pouvez cliquer sur le bouton prévu à cet effet, juste sous la signature |
|
|
00
|
|
|
#4 |
![]() ![]() Serge GirardDéveloppeur informatique Inscription : janvier 2007 Messages : 3 624 ![]() |
Voila un exemple ou l'utilisation de paramètres est plus que recommandée .
n'étant pas un pro de PHP je ne fournirai pas de solution . il semblerai que l'interpreteur du SQL php prend les '--' pour le début de commentaire
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius |
|
|
00
|
|
|
#5 |
|
Inscrit
Inscription : mai 2004 Messages : 759 ![]() |
|
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
'--' correspond bien à un début de commentaire ligne (tout ce qui se trouve après est de type commentaire.)
Cependant essayez votre requête dans ISQL (livré avec firebird) ou IBEXPERT et vous verrez qu'elle fonctionne bien. Donc votre soucis vient du fait que les -- sont probablement interprétés comme début de commentaire ligne malgré le fait qu'ils soient à l'intérieur d'une chaine. Je pencherais donc pour un soucis non pas firebird peut être pas PHP non plus mais plus votre parseur SQL. Quel drivers utilisez vous pour attaquer firebird ? Comme le suggère SergioMaster, essayer de voir si vous avez la possibilité d'utiliser des paramètres dans vos requêtes. (Ce qui vous évitera bien des soucis liés aux formats (ici une chaine de caractère qui est interprétée au lieu de passée en paramètre, et plus tard vous allez revenir à cause des dates En gros le principe c'est que votre requete serait Code :
SELECT arkcodart, .... FROM article WHERE arkcodart=:NUMART Dans l'idée : Code :
|
||
|
|
10
|
|
|
#7 | ||
![]() ![]() Claude RenouleaudDéveloppeur informatique Inscription : février 2006 Messages : 4 753 ![]() |
Salut
On pourrait tricher en utilisant like et en précisant un caractère d'échappement. Code :
@+ Claudius
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira. |
||
|
|
10
|
|
|
#8 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Si tu veux "tricher" il y a plus simple :
Code :
SELECT * FROM article WHERE code ='aa-' || '-25'
|
|
|
10
|
|
|
#9 |
![]() ![]() Claude RenouleaudDéveloppeur informatique Inscription : février 2006 Messages : 4 753 ![]() |
mouarf, bien vu
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira. |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com