当前位置:首页 > Mysql教程 > 列表

PDO连接数据库提示could not find driver解决办法

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-08 16:21:55 浏览: 评论:0 

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

数据库的连接,我们通过下面的例子来分析PDO连接数据库,代码如下:

  1. <?php 
  2. $dbms='mysql';     //数据库类型 Oracle 用ODI,对于开发者来说,使用不同的数据库,只要改这个,不用记住那么多的函数了 
  3. $host='localhost'//数据库主机名 
  4. $dbName='test';    //使用的数据库 
  5. $user='root';      //数据库连接用户名 
  6. $pass='';          //对应的密码 
  7. $dsn="$dbms:host=$host;dbname=$dbName"
  8. // 
  9.  
  10. try { 
  11.     $dbh = new PDO($dsn$user$pass); //初始化一个PDO对象,就是创建了数据库连接对象$dbh 
  12.     echo "连接成功<br/>"
  13.     /*你还可以进行一次搜索操作 
  14.  
  15.     foreach ($dbh->query('SELECT * from FOO') as $row) { 
  16.         print_r($row); //你可以用 echo($GLOBAL); 来看到这些值 
  17.     }  //phpfensi.com 
  18.     */ 
  19.     $dbh = null; 
  20. } catch (PDOException $e) { 
  21.     die ("Error!: " . $e->getMessage() . "<br/>"); 
  22. //默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样: 
  23. $db = new PDO($dsn$user$passarray(PDO::ATTR_PERSISTENT => true)); 
  24.  
  25. ?> 

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

Windows下载修改php.ini,代码如下:

  1. extension=php_pdo.dll 
  2. extension=php_pdo_mysql.dll 
  3. extension=php_pdo_pgsql.dll 
  4. extension=php_pdo_sqlite.dll 
  5. extension=php_pdo_mssql.dll 
  6. extension=php_pdo_odbc.dll 
  7. extension=php_pdo_firebird.dll 
  8. ;extension=php_pdo_oci8.dll 

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

如果在linux下面,确信模块pdo_mysql.so已经编译进php,在php.ini下面添加:

extension=pdo_mysql.so

Tags: PDO连接数据库 not find driver

分享到: