2015-11-20 54 views
-2

剛剛將database.php文件從MySQL更改爲PDO。但我得到這個錯誤:如何解決「致命錯誤:調用成員函數查詢()」

Fatal error: Call to a member function query() on a non-object in /home/mypath/mydomain.com/library/database.php on line 19

它在個人的網站上正常工作的變化。但是,當上傳到我的網站它產生這個錯誤,不知道爲什麼。我使用DreamHost。怎麼了?

第19行:

$result = $pdo->query($sql);  

在前代碼:

<?php 
require_once 'config.php'; 

try { 
    $conn = new PDO("mysql:host=$servername;dbname=onlysecret_db", $username, $password); 
    // set the PDO error mode to exception 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch(PDOException $e) 
{ 
    echo "Connection failed: " . $e->getMessage(); 
} 

function dbQuery($sql) 
{ 
    global $pdo; 
    $result = $pdo->query($sql); 
    return $result; 
} 
+0

*「$ result = $ pdo-> query($ sql);」* - 這不是標題太多。實際上很糟糕。 –

+1

你的PDO連接是'$ conn',而不是'$ pdo' ... –

+0

看看你的變量***非常仔細*** –

回答

0

這是因爲你所訪問$pdo,這是不存在的變量。

變化$pdo$conn

function dbQuery($sql) 
{ 
    global $conn; 
    $result = $conn->query($sql);  
    return $result; 
} 

...但我建議不要使用global,而是通過$conn作爲參數傳遞給函數。

+0

謝謝!傻我! – reallyreally

相關問題