以前我们连接数据都是使用mysql方式连接,今天突然有一个项目需要使用到PDO对象,结果连接时could not find driver错误提示出来了,下面来我的解决办法。

的连接:我们通过下面的例子来分析PDO连接,

代码如下

复制代码

try {

$dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象,就是创建了数据库连接对象$dbh

echo "连接成功

";

/*你还可以进行一次搜索操作

($dbh->query('SELECT * from FOO') as $row) {

print_r($row); //你可以用 echo($GLOBAL); 来看到这些值

}

*/

$dbh = null;

} (PDOException $e) {

die ("Error!: " . $e->getMessage() . "

");

}

//默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:

$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));

?>

结果出现了 could not find driver错误提示,后来搜索的原因是没有打开php_pdo_mysql.dll模板导致了,知道原因了解决办法就简单了。

Windows下载修改php.ini

代码如下

复制代码

extension=php_pdo.dll

extension=php_pdo_mysql.dll

extension=php_pdo_pgsql.dll

extension=php_pdo_sqlite.dll

extension=php_pdo_mssql.dll

extension=php_pdo_odbc.dll

extension=php_pdo_firebird.dll

;extension=php_pdo_oci8.dll

各种PDO的驱动,能给加上的全给加上,不过后面的php_pdo_oci8.dll,因为我没有安装Oralce数据库,所以没有这个,就使用分号注释掉它,重启就可以了. 当然了,如果你用别的数据库,打开对应的模块就OK了.

如果在下面,确信模块pdo_mysql.so已经编译进php。

在php.ini下面添加:

代码如下

复制代码

extension=pdo_mysql.so

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐