我的代码:绑定参数WHERE IN子句与PDO
$myArray = implode($myArray, ',');
$sth = $dbh->prepare('SELECT foo FROM bar WHERE ids IN (:ids)');
$sth->bindParam(':ids', $myArray);
$sth->execute();
$result = $sth->fetch();
echo $sth->rowCount();
始终显示为1的数,但是当我跳过参数化和刚才添加的变量本身在它的地方,我得到一个准确计数。这里发生了什么?
认真?准备好的陈述不能处理?这是多么的蹩脚:/ – hoppa
要注意sql注入。 – Dani
@hoppa:他们可以像这样处理它:'id IN(:id1,:id2,:id3 ...)',你得到了模式。你最好用老式的方法。 – Maerlyn