2013-05-13 151 views
0

我做了一個簡單的mysqli函數包裝器,我用它來連接。當我嘗試使用它,我得到一個致命的錯誤成員函數非對象

"Fatal error: Call to a member function query() on a non-object in /home/cgateams/public_html/home.cga/test.php on line 5" 

Line 5: $res = $dblink->query("select * from test"); 

test.php的

include('includes/db/config.php'); 

$dblink = db_connect(); 
$res = $dblink->query("select * from test"); 
while ($res = $row) { 
    echo $row['test']; 
} 

的config.php

//Database server 
$host = 'localhost'; 
$dbname = 'dbname'; //sanitized data 
$dbuser = 'dbuser'; 
$dbpass = 'dbpass'; 

// db connect to nm database 
function db_connect() 
{ 
    global $host, $dbuser, $dbpass, $dbname; 

    $dbconnect = new mysqli($host, $dbuser, $dbpass, $dbname); 

    if (!dbconnect) 
    throw new Exception('Could not connect to CGA database currently'); 
    else 
    return $dbonnect; 
} 

回答

4

您錯過了$。它應該是:

if (!$dbconnect) 

然後在返回值進一步下降,你有一個錯字:

return $dbconnect; 

你得到的錯誤是因爲不被退還你的mysqli對象(由於錯別字)。

另外,看看使用mysqli準備的語句 - 它們非常強大,比內聯查詢更安全,特別是當你進入傳遞參數時。

+0

尼斯趕上 - 我錯過了第一個。 – 2013-05-13 00:37:21

+0

馬克:我幾乎錯過了第二個:) – 2013-05-13 00:39:59

3

在你db_connect()功能,你正在返回$dbonnect。它應該是$dbconnect

0

有在config.php一個錯誤:if (!dbconnect)if (!$dbconnect)

相關問題