以前我们连接数据都是使用mysql方式连接,今天突然有一个项目需要使用到PDO对象,结果连接时could not find driver错误提示出来了,下面来我的解决办法.
数据库的连接,我们通过下面的例子来分析PDO连接数据库,代码如下:
- <?php
- $dbms='mysql';
- $host='localhost';
- $dbName='test';
- $user='root';
- $pass='';
- $dsn="$dbms:host=$host;dbname=$dbName";
-
-
- try {
- $dbh = new PDO($dsn, $user, $pass);
- echo "连接成功<br/>";
-
-
-
-
-
-
- $dbh = null;
- } catch (PDOException $e) {
- die ("Error!: " . $e->getMessage() . "<br/>");
- }
-
- $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数据库,所以没有这个,就使用分号注释掉它,重启apache就可以了,当然了,如果你用别的数据库,打开对应的模块就OK了.
如果在linux下面,确信模块pdo_mysql.so已经编译进php,在php.ini下面添加:
extension=pdo_mysql.so |