我有以下几点:
<?php
$array = join(',', $ids); // this prints 3,4,6,7,8
$stmt = $cxn->prepare('SELECT * FROM comments WHERE id IN (?)');
$stmt->bind_param('i', $array);
$stmt->execute();
?>
但是,当我打印结果时,它仅显示第一个id(
3
)的注释,而不显示其他注释。怎么了? 最佳答案
我相信要使此功能按预期工作,您必须将值直接替换为字符串:
$idString = '';
foreach($ids as $id) {
$idString .= $id . ',';
}
$idString = substr($idString, 0, -1);
$stmt = $cxn->prepare("SELECT * FROM comments WHERE id IN (".$idstring.")");
$stmt->execute();
不幸的是,这可能会给您带来SQL注入攻击的机会。