致命错误:未捕获错误:在第7行引发的#0 {main}中的boolean上调用成员函数fetch()

时间:2017-09-06 09:04:29

标签: php mysqli pdo

我犯了致命错误

  

致命错误:未捕获错误:在C:\ xampp \ htdocs \ sonu \ PDO \ test.php中调用boolean上的成员函数fetch():7堆栈跟踪:#0 {main}抛出C:\ xampp第7行的\ htdocs \ sonu \ PDO \ test.php

$db = new PDO('mysql:host=localhost;root', 'test', '');

$query = $db->query("SELECT * FROM sonu");

while($row = $query->fetch())
{
    print_r($row);
}

1 个答案:

答案 0 :(得分:0)

您的PDO构造函数错误。您没有声明PDO实例应连接到的数据库。

$db = new PDO('mysql:host=localhost;root', 'test', '');

DSN应具有数据库名称和主机名。你最后有root,不应该在那里。

上面的一行应该是这样的:

$db = new PDO('mysql:host=localhost;dbname=dbnamehere', 'test', '');

将来查看documentation并检查您的代码是否与之对应。