当我试图用pdo_object.php文件连接到sql数据库时,my model.php返回以下错误:
Fatal error: Class 'Db' not found in /path/model.php on line 8
我确保我的所有文件的所有权限和凭据都是正确的。这是两个有问题的文件。
我不太确定这里有什么问题,所以任何帮助都会很棒。
pdoèu 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();
}
}
?>
2条答案
按热度按时间v6ylcynt1#
数据库中不存在db类
pdo_object.php
文件,从而导致index.php
引用不存在的类时引发错误的文件。6ioyuze22#
在哪里
class Db { //blah }
? 哪里也没有。但你已经定义了$db
在第一个文件中。我还建议使用依赖注入,而不是在类中调用静态类方法。基本上,将$db传入构造函数:
举例说明如下: