这是我的数组:
当我在不同脚本中使用mysqli_query时,这种风格有效:
while ($printTest = mysqli_fetch_array($results)) {
echo $printTest['id'] . "<br />";
echo $printTest['questions'] . "<br />";
echo $printTest['answers'] . "<br />";
}
我不知道如何使用 PDO 创建的数组执行相同的操作。通过 PDO,我可以使用 foreach,如下所示:
foreach ($queryRows as $test=>questions){
echo $test;
}
不幸的是,这并不能让我在同一循环中访问 id
和 answers
- 这对我来说很重要。
这就是我当前获取 PDO 生成的数组的方式:
$queryRows = $this->dbh->query("SELECT id, questions, answers FROM qarows WHERE usr = '$this->username'");
$queryRows = $queryRows->fetchAll(PDO::FETCH_ASSOC);
如何循环访问数组的所有 3 列?
最佳答案
它仍然是相同的从数据库获取行。它仍然是相同的多维结构:
$select = $this->dbh->prepare('SELECT id, questions, answers FROM qarows WHERE usr = :usr');
$select->bindParam(':usr', $this->username);
$select->execute();
$queryRows = $select->fetchAll(PDO::FETCH_ASSOC);
foreach ($queryRows as $questions){
echo $questions['id'] . '<br/>';
}
或者看起来像 mysqli:
$select = $this->dbh->prepare('SELECT id, questions, answers FROM qarows WHERE usr = :usr');
$select->bindParam(':usr', $this->username);
$select->execute();
while($printTest = $select->fetch(PDO::FETCH_ASSOC)) {
echo $printTest['id'] . "<br />";
echo $printTest['questions'] . "<br />";
echo $printTest['answers'] . "<br />";
}
关于php - PDO:多。行和列 - 如何循环数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26839080/