使用计数器和数组在循环中进行多次提取

时间:2012-07-27 00:50:21

标签: php mysql loops pdo fetch

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

1 个答案:

答案 0 :(得分:2)

您可以像bindParam一样将数组参数添加到$statement->execute,而不是使用$statement->execute(array(":id"=>$friendListIDs[$i]));

{{1}}