使用 PDO 回显显示表中的所有行

时间:2023-05-06
本文介绍了使用 PDO 回显显示表中的所有行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

限时送ChatGPT账号..

我正在尝试使用 PDO 回显表的所有行,但遇到了问题.

I'm trying to echo out all the rows of a table using PDO but am running into trouble.

用旧的方式做我会这样做

With the old way of doing I'd have done it like

$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)){
   $title= $row['title'];
   $body= $row['body'];
}

但是我正在尝试使用 PDO;

But with PDO I'm trying;

$result = $db->prepare("SELECT title, body FROM post");
$result->execute();

while ($row = $db->fetchAll(PDO::FETCH_ASSOC))
{
$title = $row['title'];
$body = $row['body'];
}

echo $title;
echo $body;

它一直给我调用未定义的方法 PDO::fetchAll()

Which keeps giving me Call to undefined method PDO::fetchAll()

做手册中给出的例子

<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();

/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:
");
$result = $sth->fetchAll();
print_r($result);
?>

有效,但我认为我无法像使用 $row=['blah']; 那样控制各个列.我呢?它也像这样打印出来;比较丑:

Works, but I don't think I have control over the individual colums like I would with a $row=['blah']; do I? It also prints out like this; rather ugly:

Array ( [0] => Array ( [title] => 这是数据库中输入的测试标题[0]

Array ( [0] => Array ( [title] => This is the test title entered in the database[0]

需要做什么才能正确使用 PDO 来做到这一点?

What needs to be done to properly use PDO to do this?

推荐答案

change:

while ($row = $db->fetchAll(PDO::FETCH_ASSOC))
{
$title = $row['title'];
$body = $row['body'];
}

到:

while ($row = $result->fetch(PDO::FETCH_ASSOC))
{
$title = $row['title'];
$body = $row['body'];
}

这篇关于使用 PDO 回显显示表中的所有行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:MS SQL Server 上的 ODBC 查询仅在 PHP PDO (FreeTDS) 中返回前 255 个字符 下一篇:PDO 语句的转义参数?

相关文章