是否在非对象上调用成员函数prepare()?PDO



致命错误:对/中的非对象调用成员函数prepare((/第7行上的public_html/deletes/includes/deal.php

我已经为deal创建了一个数据库,并插入了所有带有示例数据的表。

index.php(尚未完成(

include_once('includes/connection.php');
include_once('includes/deal.php');
$deal = new Deal;
$deals = $deal->fetch_all();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>GameDeals</title>
<link rel="stylesheet" href="assets/deals.css" />
</head>
<body>
<div class="container">
<!-- START GAMEDEALS -->
<?php foreach ($deals as $deal) { ?>
<div>dsdsd<?php echo $deal['deal_title']; ?></div>
<?php } ?>
<!-- END GAMEDEALS -->
</div>
</body>
</html>

connection.php

<?php 
try {
    $pdo = new PDO('mysql:host=localhost;dbname=****', $**username**, $**pwd**);
    } 
catch (PDOException $e)
    {
        return "Database connection error.";
    }
?>

deal.php

<?php
class Deal {
    public function fetch_all() {
        global $pdo;
        $query = $pdo->prepare("SELECT * FROM deals");
        $query->execute();
        return $query->fetchAll();
    }
}
?>

有什么想法吗?

    <?php
class Deal {
    public function fetch_all() {
        global $pdo;
        var_dump($pdo);
        $query = $pdo->prepare("SELECT * FROM deals");
        $query->execute();
        return $query->fetchAll();
    }
}
?>

结果:

NULL致命错误:对/中的非对象调用成员函数prepare((/第8行上的public_html/deletes/includes/deal.php

$pdo = new PDO('mysql:host=localhost;dbname=****', $**username**, $**pwd**);

您在哪里声明$**username**$**pwd**?似乎什么地方都没有。在使用pdo对象之前,请正确声明这两个值。


另外,将return "Database connection error.";替换为printf($e);,并将您看到的内容发布回来。

最新更新