我在循环中使用带有PDO的bindParam()执行准备好的查询时遇到了问题.基本上我正在尝试做的是遍历一个数组,并使用每个数组元素,从数据库返回数据.现在我意识到 – > bindParam()应该将变量绑定到查询,但是这对数组有什么作用?因为我似乎无法让它起作用:S
到目前为止,这是我的代码:
<?php
$i = 0;
$statement = $conn->prepare("SELECT * FROM users WHERE id = :id");
$statement->bindParam(":id", $friendListIDs[$i], PDO::PARAM_STR);
$friendListIDs = explode($details['friends'], " ");
while($i <= count($friendListIDs))
{
$statement->execute();
$row = $statement->fetch();
echo "<img src='../img/friend_icon.png' alt='' align='left' />
<span>
<a href='#'>".$row['firstname']." ".$row['surname']."</a>
<br />
<a href='#'>100% wishes fulfilled</a>
</span><br /><br />";
$i++;
}
?>
最佳答案 您可以将数组参数添加到$statement->执行,而不是使用bindParam:
$statement->execute(array(":id"=>$friendListIDs[$i]));