0

我通常使用“警告为错误”的方法进行开发。然而,最近我重新安装了我的开发工具,发现我并没有像往常一样打开所有的警告和错误。

因此,在我的 php.ini 文件中,我重新打开了以下设置:

Development Value: E_ALL | E_STRICT

现在我得到这个错误:

Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in C:\wamp\www\project\database_class_example.php

我正在使用 PDO 并连接到 PostgreSQL 数据库。我以前遇到过这个错误,但后来让它工作了。这是我的难题:

如果我关闭警告和错误,它会工作并成功连接到数据库。如果我打开警告和错误,它不会。

这怎么可能,如果它找不到驱动程序,肯定永远不会工作!

它抱怨这行代码:

parent::__construct($this->data_source_name, $this->username, $this->password);

这是来自我的数据库类,它扩展了 PDO。

其中$data_source_name是一个字符串,它是预先构建的,包含数据库引擎名称主机数据库名称

$username$password显然包含用户名和密码。

请记住,这是有效的。如果我关闭 display_errors,则此代码有效。

4

1 回答 1

1

虽然这个问题听起来很奇怪,但我能猜到的唯一原因是您在 database_class_example.php 中有未使用的 PDO 连接。我很乐意提供要查找的行号,但由于某种原因,您在引用的错误消息中省略了它。

文件名也暗示了这一点。

于 2013-09-02T08:22:19.633 回答