24-01-2011, 10:20 PM
bonsoir
je viens de m'apercevoir que les requêtes préparées PDO ont quand même quelques défauts notamment avec la clause WHERE IN (et sans parler de la pseudo portabilité des requetes selon les SBGD)...
ce code:
renvois (et c'est normal):
Array ([0] => Array ([id] => 1) [1] => Array ([id] => 2) [2] => Array([id] => 3))
alors que ce code:
renvois :
Array( [0] => Array ([id] => 1))
avouez quand même que c'est un peu stupide non ? mais j'aimerais quand même bien savoir le pourquoi du comment...
ou alors je délire totalement ?
donc à éviter: WHERE id IN(:liste)
je viens de m'apercevoir que les requêtes préparées PDO ont quand même quelques défauts notamment avec la clause WHERE IN (et sans parler de la pseudo portabilité des requetes selon les SBGD)...
ce code:
$liste='1,2,3';
$result=$connexion_mmorpg->query("SELECT id FROM joueur WHERE id IN($liste)");
$donnees=$result->fetchAll(PDO::FETCH_ASSOC);
print_r($donnees);
renvois (et c'est normal):
Array ([0] => Array ([id] => 1) [1] => Array ([id] => 2) [2] => Array([id] => 3))
alors que ce code:
$liste='1,2,3';
$query = "SELECT id FROM joueur WHERE id IN(:liste)";
$result = $connexion_mmorpg->prepare("$query");
$result->execute(array(':liste' => $liste));
$donnees=$result->fetchAll(PDO::FETCH_ASSOC);
print_r($donnees);
renvois :
Array( [0] => Array ([id] => 1))
avouez quand même que c'est un peu stupide non ? mais j'aimerais quand même bien savoir le pourquoi du comment...
ou alors je délire totalement ?
donc à éviter: WHERE id IN(:liste)