php - 找不到类 'Db'

标签 php html mysql sql database

当我尝试使用我的 pdo_object.php 文件连接到我的 SQL 数据库时,我的 model.php 返回此错误:

Fatal error: Class 'Db' not found in /path/model.php on line 8

我确保我的所有文件的所有权限和凭证都是正确的。这是有问题的两个文件。

不太确定这里的问题是什么,所以任何帮助都会很棒。

pdo_object.php

<?php
    $user = 'someusername';
    $pass = 'somepassword';
    $db_info='somehost';
    try {
        $db = new PDO($db_info, $user, $pass);

    } catch (PDOException $e) {
        print "Error!: " . $e->getMessage() . "<br/>";
        die();
    }


    ?>

然后是model.php

    <?php
include('pdo_object.php');

 class Model{
    public $db;

    public function __construct(){
        $this->db = Db::getDb();
    }

    public function getAllRecords($sql, $parameters = null){
        $stm = $this->db->prepare($sql);
        $stm->execute($parameters);
        return $stm->fetchAll();
    }

     public function getOneRecord($sql, $parameters = null){
                $stm = $this->db->prepare($sql);
                $stm->execute($parameters);
                return $stm->fetch();
        }

}
?>

最佳答案

class Db {//blah } 在哪里?无处。但是您已经在第一个文件中定义了 $db

我还推荐依赖注入(inject),而不是在你的类中调用静态类方法。本质上,在构造函数中传递 $db:

public function __construct(PDO $db)
{
    $this->db = $db;
}

然后像这样实例化:

$model = new Model($db);

关于php - 找不到类 'Db',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50217547/

相关文章:

html - 定位 3 个拆分按钮

php - 覆盖唯一的索引值

php - Wordpress 有一个讨厌的重定向不允许 ssl

php - AJAX 登录在 Internet Explorer 中不起作用

javascript - 尝试滚动时 jQueryUI AutoComplete 结果列表弹回顶部

php - MYSQL/SQL中以下场景如何查询过滤结果?

c++ - 谁拥有 MySQL Connector C++ 返回的内存?

php - 数据库未从mysql数据库中读取

php - 如果下拉菜单中的子页面已打开,我如何提供菜单项 ID ="active"? PHP

javascript - Pdf.js:如何获取输入单选值?