Mouais, mais là c'est parce qu'il y a cast de la chaîne '1,2,3' en int (ce qui donne 1 - ça fonctionne comme en PHP, MySQL s'arrête au premier caractère qui n'est pas un chiffre).
Ça ne peut fonctionner ça (binder plusieurs valeurs en un paramètre). On aurait beau le prendre dans le sens que l'on veut, on en revient toujours à 1 paramètre = 1 valeur avec une requête préparée.
--
Pour être clair :
Sans la requête préparée, on obtient : SELECT id FROM joueur WHERE id IN(1, 2, 3)
Avec : SELECT id FROM joueur WHERE id IN('1, 2, 3')
C'est deux choses totalement différentes pour le SGBD.
Ça ne peut fonctionner ça (binder plusieurs valeurs en un paramètre). On aurait beau le prendre dans le sens que l'on veut, on en revient toujours à 1 paramètre = 1 valeur avec une requête préparée.
--
Pour être clair :
Sans la requête préparée, on obtient : SELECT id FROM joueur WHERE id IN(1, 2, 3)
Avec : SELECT id FROM joueur WHERE id IN('1, 2, 3')
C'est deux choses totalement différentes pour le SGBD.