Bonjour les forumers, j'ai découvert les requêtes préparées MYSQL (enfin MariaDB 5.5.28) aujourd'hui. Ces 3 lignes fonctionnent bien :
Par contre si j'utilise ? pour remplacer pour le nom de table, cette fois-ci j'obtiens n'importe quoi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 PREPARE req FROM 'select id from table where nom=?'; SET @eleve='Pierre'; EXECUTE req USING @eleve; +----+ | id | +----+ | 2 | +----+
Tout les arguments ne peuvent pas être préparés ? Quelles sont les règles ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 PREPARE req FROM 'select ? from table'; SET @val='nom'; EXECUTE req USING @val; +-----+ | ? | +-----+ | nom | | nom | | nom | | nom | | nom | | nom | | nom | | nom | +-----+
Partager