|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 121 ![]() |
Bonjour,
Je viens de réinstaller mysql. Jusqu'à présent pour passer un paramètre à une query j'utilisait la syntaxe : depuis la réinstallation mysql me renvois une erreur sur les :. Je suppose que c'est un paramétrage de mysql mais je ne trouve rien à ce sujet. merci de votre aide. Bonne soirée MS |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
je pense que c'est plutôt une erreur de syntaxe :
Par ailleurs, le terme exact est "variable utilisateur" et non "paramètre". |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 121 ![]() |
Bonjour,
non il ne s'agit pas d'une erreur de syntaxe. J'ai aussi tout un tas de query du type ![]() qui ne fonctionnent plus non plus. Il ne s'agit pas réellement d'une variable de saisie, mais de paramètres que je passe à l'execution à partir d'une appli.L'appli utilise Dac for mysql et dans ce cas je n'ai pas de problèmes, Dac s'occupant de "reparser". Mais jusqu'à présent j'utilisait ems mysql manager pour tester mes query, et là ca pose un problème. Ce problème de syntaxe apparait aussi lorsque j'utilise mysql query browser. Cela fait des années que j'utilise cette syntaxe sans problèmes. Je vais réessayer d'installer mysql si je n'ai pas d'autre choix. Merci de votre aide MS |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Avec un SET, ce n'est pas =: mais := (égal d'affectation). Dans un WHERE, c'est = tout court (égal de comparaison).
|
|
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 121 ![]() |
bonsoir,
dans un where c'est effectivement = s'il s'agit d'une constante. Pour le reste cela à toujours fonctionné comme cela et si je fais par exemple Citation:
la requete sur mon ancienne installation Citation:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':nom' at line 1 Cordialement MS |
||
|
|
00
|
|
|
#6 | ||||||||
|
Membre expérimenté
![]() Inscription : août 2005 Messages : 515 ![]() |
Bonsoir,
jamais utilisé les variables dans MySQL, mais c'est marrant. Code :
Code :
Code :
Code :
DaRiaN. PS: c'est juste pour tester et voir si tout le monde a pareil (MySQL 5.0.27). Oui, je sais, je devrais peut-être mettre à jour ma version de MySQL. |
||||||||
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 121 ![]() |
Bonsoir,
j'utilise la version 5.1.22. Ces requêtes fonctionnent aussi chez moi. Mais mon problème est que je veux avoir le nom paramètrable depuis l'extérieur de la query. En fait mes query sont stockées dans une table et appelées par programme au moment ou l'utilisateur saisit des données. J'ai réinstallé mysql mais sans résultats Bonne soirée MS |
|
|
00
|
|
|
#8 |
|
Membre expérimenté
![]() Inscription : août 2005 Messages : 515 ![]() |
Comment MySQL peut savoir que vous voulez prendre le champ `nom` de la table inconnue. Enfin, je ne comprends rien et je ne suis pas vraiment là pour aider car je n'ai jamais utilisé les variables sous MySQL. Excusez-moi du dérangement... je vais télécharger la dernière version de MySQL.
|
|
|
00
|
|
|
#9 | ||
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 121 ![]() |
non ma table n'est pas inconnue j'ai une requete du type
Citation:
Citation:
Par programme je passe le paramètre @nom par ex 'DUPONT' Bonne Soirée MS |
||
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
Une variable utilisateur peut contenir une valeur, mais pas un nom de colonne ou de table. Si tu veux des noms de colonne ou de table variables, il faut que tu passes par des prepared statements (RTFM sur PREPARE et EXECUTE).
|
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 121 ![]() |
Il ne s'agit pas d'un nom de colonne, mais de la valeur de la colonne, dans l'exemple, la table s'appelle `clients` et la colonne `nomdefamille`.
Bon WE MS |
|
|
00
|
|
|
#12 |
|
Membre régulier
![]() Inscription : octobre 2006 Messages : 121 ![]() |
J'ai compris mon problème.
J'utilise EMS Mysql Manager. pour obtenir le résultat que je recjherche il faut cocher dans les options 'allow using of parameters in query text'.Je supose que c'est EMS Mysql Manager qui s'occupe ensuite de parser. Merci de votre aide. Bon WE MS |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com