PDO连接数据库提示couldnotfinddriver解决办法
时间:2021-07-01 10:21:17
帮助过:101人阅读
以前我们连接数据都是使用mysql方式连接,今天突然有一个项目需要使用到PDO对象,结果连接时could not find driver错误提示出来了,下面来我的解决办法。
的连接:我们通过下面的例子来分析PDO连接,
代码如下 |
|
$dbms='mysql'; //数据库类型 Oracle 用ODI,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数了
$host='localhost'; //数据库主机名
$dbName='test'; //使用的数据库
$user='root'; //数据库连接用户名
$pass=''; //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";
//
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
|