PDOException“找不到驱动程序”

时间:2015-04-02 14:15:23

标签: php sql-server driver

我在IIS上,在mssql数据库上使用PHP Version 5.2.17。

我的数据库连接:

<?php

    include('myPDO.class.php');

    myPDO::setConfiguration('dblib:host=ebase\eb105;dbname=projettest2;charset=utf8', 'user', 'password');

这是我的错误:

  

致命错误:未捕获的异常&#39; PDOException&#39;有消息&#39;无法找到驱动程序&#39;在E:\ www \ ndatest \ MetierSiteClient \ myPDO.class.php:51

在我的php.ini中,我得到了:

[PHP_PDO]
extension=php_pdo.dll
[PHP_PDO_MSSQL]
extension=php_pdo_mssql.dll

在我的php.info中显示:

PDO Driver for MSSQL DB-lib  //   enabled
Flavour                      //   MSSQL_70 

PDO support // enabled
PDO drivers // firebird, mssql, mysql, odbc, sqlite2 

那么,你有什么想法吗? :( 谢谢!

1 个答案:

答案 0 :(得分:0)

尝试使用此代码:

$banco = new PDO('mysql:host=localhost;dbname=nome_do_banco', 'username','password')or die(mysql_error());

连接后,如果要使用 charset 进行连接,请使用以下代码:

<?php  
define('HOST', 'localhost');  
define('DBNAME', 'DB_BLOG');  
define('CHARSET', 'utf8');  
define('USER', 'root');  
define('PASSWORD', '123456');

try {  
  $opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8');  
  $pdo = new PDO("mysql:host=" . HOST . "; dbname=" . DBNAME . "; charset=" . CHARSET . ";", USER, PASSWORD, $opcoes);  
  /*$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);*/
} catch (PDOException $e) {  
  echo "Erro: " . $e->getMessage();  
}  
var_dump($pdo);