我通常会以“警告错误”的方式发展。但是,最近我重新安装了我的开发工具,发现我没有像往常一样打开所有警告和错误。
所以,在我的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,则此代码可以正常工作。
答案 0 :(得分:1)
虽然这个问题听起来很奇怪,但我能猜到的唯一原因是你在database_class_example.php中有 unused PDO连接。我很乐意提供在哪里查找的行号,但出于某种原因,您从引用的错误消息中省略了它。
文件名也是如此。