PDO连接数据库提示could not find driver解决办法
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-08 16:21:55 浏览: 评论:0
以前我们连接数据都是使用mysql方式连接,今天突然有一个项目需要使用到PDO对象,结果连接时could not find driver错误提示出来了,下面来我的解决办法.
数据库的连接,我们通过下面的例子来分析PDO连接数据库,代码如下:
- <?php
- $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 "连接成功<br/>";
- /*你还可以进行一次搜索操作
- foreach ($dbh->query('SELECT * from FOO') as $row) {
- print_r($row); //你可以用 echo($GLOBAL); 来看到这些值
- } //phpfensi.com
- */
- $dbh = null;
- } catch (PDOException $e) {
- die ("Error!: " . $e->getMessage() . "<br/>");
- }
- //默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数: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数据库,所以没有这个,就使用分号注释掉它,重启apache就可以了,当然了,如果你用别的数据库,打开对应的模块就OK了.
如果在linux下面,确信模块pdo_mysql.so已经编译进php,在php.ini下面添加:
extension=pdo_mysql.so
Tags: PDO连接数据库 not find driver
相关文章
- ·mysql删除数据提示Cannot delete or update(2014-09-24)
- ·解决Navicat cannot proceed because system tables办法(2014-09-24)
- ·Mysql启动报错’./mysql-bin.index’ not found的问题(2014-09-25)
- ·mysql中null,not null,default,auto_increment详解(2014-10-02)
- ·mysql中is not null和!=null及null介绍(2014-10-09)
- ·mysql远程连接 Host * is not allowed to connect to this MySQL server(2014-10-09)
- ·mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication(2014-10-13)
- ·mysql防止重复插入相同记录 insert if not exists(2014-10-17)
- ·Navicat 导出mysql数据库的时候出现 “Cannot proceed because system(2015-04-18)
- ·mysql提示service mysql3306 does not support chkconfig错误(2015-04-20)
- ·解决mysqlnd cannot connect to MySQL 4.1+ using the old insec(2015-04-20)
- ·mysql find_in_set或REGEXP查询字段中指定字符内容(2014-09-29)
- ·mysql数据库中find_in_set()和in()用法区别(2014-10-03)
- ·mysql提示Can't find messagefile /usr/share/mysql/english/errmsg.sys(2014-10-04)
- ·Mysql find_in_set()函数使用方法(2014-10-08)
- ·启动mysql出错:Can't find messagefile '/usr/share/mysql/errmsg.sys(2015-04-17)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)