2013-08-30 59 views
-4

沒過的var_dump - 返回object(PDO)#1 (0) { }PDO連接錯誤返回對象(PDO)#1(0){}

代碼爲我下面的數據庫連接:

<?php 

$config['db'] = array 

    (

     'host'  => 'localhost', 
     'dbname' => 'journal', 
     'username' => 'root', 
     'password' => '' 


    ); 


     $dbc = new PDO('mysql:host=' . $config['db']['host'] . ';dbname=' . $config['db']['dbname'], $config['db']['username'], $config['db']['password']); 
     var_dump($dbc); 

?> 

當我嘗試使用$ DBC變量返回以下錯誤:

Notice: Undefined variable: dbc in C:\xampp\htdocs\journal\data\functions.php on line 21

Fatal error: Call to a member function prepare() on a non-object in C:\xampp\htdocs\journal\data\functions.php on line 21

線21:

$appendEntries = $dbc->prepare("SELECT * FROM `entries`"); 
+2

'注意稱之爲:未定義variable'意味着變量'$ dbc'超出範圍在你試圖用它。 – roninblade

+1

http://stackoverflow.com/questions/16959576/reference-what-is-variable-scope-which-variables-are-accessible-from-where-and/16959577#16959577 – DCoder

+0

他們在同一個目錄中,我有一個要求'db.php'; –

回答

2

我想象你的代碼functions.php看起來像這樣

require_once 'db.php'; 

function somethingSomethingEntries() { 
    $appendEntries = $dbc->prepare("SELECT * FROMentries"); 
} 

somethingSomethingEntries範圍,$dbc不存在。你應該把它作爲一個參數,如

function somethingSomethingEntries(PDO $dbc) { 
    $appendEntries = $dbc->prepare("SELECT * FROMentries"); 
} 

require_once 'db.php'; 

somethingSomethingEntries($dbc); 
+0

美麗的故障。幫我一噸! – ShiningLight