2015-06-07 71 views
0

dbConnector.php爲什麼會出現失敗PDO連接

<?php 

    class DbConnector { 

    var $link; 

    function DbConnector(){ 
      try{ 
       $this->link = new PDO('mysql:host=127.0.0.1;dbname=system', 'root', '123456'); 
       $this->link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
       $this->link->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); 
      }catch(PDOException $e){ 
       die("this is not connected"); 
      } 

     } 

     //*** Function: query, Purpose: Execute a database query *** 
     // this function fail to connect 
    function query($query) { 
     try{ 
     $this->link->prepare($query); 
     }catch(PDOException $e){ 
      die("fail to prepare"); 
     } 
     return $this->link->prepare($query); 
    } 

    } 

    ?> 

check.php

<?php 
include("dbConnector.php"); 
$connector = new DbConnector(); 

$username =''; 

$query = "SELECT air_users FROM USER_NAME WHERE username = ? LIMIT 1"; 
$result = $connector->query($query); 
$result->execute(array($username)); 

$num = $result->rowCount(); 
$num = $result->fetch(); 

echo $num; 
// mysql_close(); 
?> 

我得到的回報錯誤

不準備

什麼我做錯了嗎? ?我仔細檢查了它,但無法弄清楚錯誤,我無法將它連接到我的數據庫。

它只是給我一個錯誤。

+0

突出顯示的錯誤 – shruti1810

回答

0

您使用try/catch,這很棒,但是您的問題是您只是迴應說存在問題,而不是問題所在。

如果您打印輸出異常的錯誤信息,我相信你會得到它爲什麼不會多準備一些信息:

try { 
    $this->link->prepare($query); 
} catch(PDOException $e){ 
    die($e->getMessage()); 
} 

或者只是暫時移除try/catch塊,讓例外情況在測試時熄滅並顯示在瀏覽器中。

+0

明白了,謝謝,我應該試試這個數據庫名稱錯誤。 – user3233074

相關問題