PHP如何修复注意:未定义的变量方法PDO :: fetchAll()

时间:2016-08-27 08:42:58

标签: php

我有PDO选择这个问题。

$db = new PDO("mysql:host=localhost;dbname=web", "root", "");

$result = $db->prepare('SELECT id, name, place, add FROM system_tab"');
$result->execute();

$result = $db->fetchAll();

foreach( $result as $row ) {
    echo $row['first_name'];
    echo $row['last_name'];
}

$db = null;

我得到了这个错误,谢谢你的帮助。

致命错误:在

中调用未定义的方法PDO :: fetchAll()

2 个答案:

答案 0 :(得分:2)

请尝试下面的代码...实际上你试图将fetchAll方法调用到db对象,但是这个fetchAll方法应该应用于保存已执行查询指针的语句。所以它应该如下。

$db = new PDO("mysql:host=localhost;dbname=web", "root", "");
$stmt = $db->prepare('SELECT id, name, place, add FROM system_tab"');
$stmt->execute();

$result = $stmt->fetchAll();

foreach( $result as $row ) {
    echo $row['first_name'];
    echo $row['last_name'];
}

我希望这会对你有所帮助,请随意发表评论。

答案 1 :(得分:0)

您需要提取$result而不是$db

试试这个:

$result = $db->prepare('SELECT id, name, place, add FROM system_tab"');
$result->execute();
while ($row = $result->fetch(PDO::FETCH_ASSOC))
{
 echo $row['first_name'];
 echo $row['last_name'];
}