我在此处找到的 PHP PDO Wrapper 类上使用了一些细微的变化:http ://www.imavex.com/php-pdo-wrapper-class/
这是我正在使用的新构造函数:
public function __construct($dsn, $user='', $passwd='') {
$options = array(
PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
);
try {
parent::__construct($dsn, $user, $passwd, $options);
} catch (PDOException $e) {
$this->error = $e->getMessage();
}
}
error
是这个类的一个私有变量,定义在类的开头,在constructor.strong文本之上
当我像这样使用它时
$database = new Database(
'mysql:host=' . $config['mysql_host'] . ';port=' . $config['mysql_port'] . ';dbname=' . $config['mysql_database'],
$config['mysql_username'],
$config['mysql_password']
);
它向我显示了这个错误:从空值创建默认对象,指向数据库类文件,在行$this->error = $e->getMessage();
。
抛出异常的原因是因为我还没有设置mysql用户名和密码,所以不用担心。我试图弄清楚它为什么会出现这个错误以及如何解决它。