萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> PDO連接數據庫提示could not find driver解決辦法

PDO連接數據庫提示could not find driver解決辦法

以前我們連接數據都是使用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); 來看到這些值
    }
    */
    $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

copyright © 萬盛學電腦網 all rights reserved