Salut,
Merci mais ça ne m'arrange pas car en effet mon listing d'ID est travaillé comme ceci :
Le listing d'ID proviens de la BD et est stocké comme ceci dans un champ : 1,2,3,4,5,6,7,9
Je le récupère dans une session puis je la retravaille comme ceci :
$map = array_map(null, $_SESSION["authid"]);
$authorized_id = join(',', $map);
print_r ($authorized_id); // me donne bien ==> 1,2,3,4,5,6,7,9
Si maintenant j'exécute une requête PDO non préparée cela fonctionne très bien :
... RIGHT JOIN $CfgTableUsers WHERE $CfgTableMain.gallery_id IN ($authorized_id)
$req_main->execute();
Si j'exécute une requête préparée ça ne m'affiche qu'un seul enregistrement :
... RIGHT JOIN $CfgTableUsers WHERE $CfgTableMain.gallery_id IN (:auth_id)
$req_main->execute(array(':auth_id' => $authorized_id));
Pourtant je ne fais rien d'autre que de remplacer la variable $authorized_id par une variable de préparation PDO (:auth_id)
Mais je crois que je commence à comprendre pourquoi ...
dans une requête PDO préparée, je stocke les $authorized_id dans un array et je pense que le problème viens de là.
Je teste et vous tiens au jus.
Si toutefois quelq'un sait que cela ne proviens pas du fait de remettre les authorized_id dans un array, qu'il le fasse savoir SVP.
Merci,
raph