2015-11-20 57 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

相关问题