4

我在循环中使用带有 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++;
    }   
?>
4

1 回答 1

2

而不是使用bindParam,您可以添加一个数组参数,$statement->execute如下所示:

$statement->execute(array(":id"=>$friendListIDs[$i]));
于 2012-07-27T00:53:56.053 回答