我在循环中使用带有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++;
}
?>
答案 0 :(得分:2)
您可以像bindParam
一样将数组参数添加到$statement->execute
,而不是使用$statement->execute(array(":id"=>$friendListIDs[$i]));
:
{{1}}