首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PDO引发异常“找不到驱动程序”

问使用PDO引发异常“找不到驱动程序”
EN

Stack Overflow用户
提问于 2012-11-26 17:15:19
回答 3查看 8.8K关注 0票数 1

在我的PHP代码中,我运行以下代码:

代码语言:javascript
复制
private function dbConnection() {
        if (!is_resource($this->connessione))
            try {
                    $this->connessione = new PDO($this->db_type.":dbname=".$this->db_name.";host=".$this->db_server, $this->db_username, $this->db_pass );
                    //echo "PDO connection object created";
                    $this->setupSQLStatement();
                }
            catch(PDOException $e)
                {
                    echo $e->getMessage();
                    die();
                }
    }

它会引发异常“找不到驱动程序”。什么是驱动程序以及如何使用它?

EN

回答 3

Stack Overflow用户

发布于 2012-11-26 17:24:58

PDO带有一个核心扩展,以及用于某些数据库管理系统(MySQL、PostgreSQL、Oracle、SQLite...)的许多“适配器”。

这些适配器是需要在php.ini中启用的附加扩展,如下所示:

代码语言:javascript
复制
extension=php_pdo.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_ibm.dll
;extension=php_pdo_informix.dll
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pdo_sqlite_external.dll
;extension=php_pdo_user.dll

在UNIX环境中,将.dll替换为.so。仅取消注释您需要的适配器(在上面的示例中: MySQL)。

票数 4
EN

Stack Overflow用户

发布于 2012-11-26 17:24:30

代码语言:javascript
复制
PDO::getAvailableDrivers()

使用此工具,您可以在服务器中找到可用的驱动程序。

票数 1
EN

Stack Overflow用户

发布于 2012-11-26 17:27:18

添加以下代码并检查其输出是否为'mysql‘行。

代码语言:javascript
复制
foreach(PDO::getAvailableDrivers() as $driver)
    echo $driver, '<br>';

如果没有,则打开php.ini并找到:

代码语言:javascript
复制
;extension=php_pdo_mysql.dll

删除;,使其如下所示,然后重试:

代码语言:javascript
复制
extension=php_pdo_mysql.dll

也可以使用上面的方法执行相同的操作:

代码语言:javascript
复制
;extension=php_pdo.dll
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13561739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档