PHP/MySQL - 调用成员函数查询()

问题描述:

我的代码工作正常,直到尚未。 我不知道什么是错的。PHP/MySQL - 调用成员函数查询()

public function maintenanceAll() 
{ 
    $zeile = $this->db->query('SELECT * FROM maintenance LIMIT 1'); 
    $row = $zeile->fetch(PDO::FETCH_ASSOC); 

    if (!$row['status']) { 
     return true; 
    } else { 
     return false; 
    } 
} 

现在只能说到:

[Mon Mar 07 11:30:55.802597 2016] [:error] [pid 6064] [client 5.135.44.40:37955] PHP Fatal error: Call to a member function query() on string in /home/admin/web/creative-cube.biz/public_html/classes/User.class.php on line 145 

我希望有人能帮助我。 :/

//编辑:

(连接到数据库)DB.class.php:

class DB { 
    public function connect() 
    { 
     global $Config; 

     try { 
      return new PDO('mysql:host='.$Config["SQL_HOST"].';dbname='.$Config["SQL_DB"].'',''.$Config["SQL_USER"].'',''.$Config["SQL_PASS"].''); 
     } catch(PDOException $e) { 
      return $e->getMessage(); 
     } 
    } 
} 

User.class.php:

public function __construct() 
{ 
    $this->db = new DB(); 
    $this->db = $this->db->connect(); 
} 
+2

您是如何创建连接的?告诉我们 –

+0

请提供连接代码。 – RK12

+0

没有错。所有其他构造与该功能类似的功能都可以正常工作。 – RayJohnson

$this->db不是数据库连接,它是一个字符串。检查您的数据库连接是否仍然正常工作。如果您的连接仍然有效,请确保不会覆盖$this->db变量。

编辑: 看着你发布的代码,连接有问题,它返回异常消息,并且设置为$this->db

try { 
    return new PDO('mysql:host='.$Config["SQL_HOST"].';dbname='.$Config["SQL_DB"].'',''.$Config["SQL_USER"].'',''.$Config["SQL_PASS"].''); 
} catch(PDOException $e) { 
    return $e->getMessage(); 
} 
+0

但是,这怎么可能?在另一个Web服务器上,它完美地工作:/ – RayJohnson

+0

也许在其他网络服务器上的数据库IP,端口,用户名,密码等是不同的。如果你抛出'$ this-> db'并发布字符串,它应该给你更多的信息。 –

+0

好的。我的数据库连接不正确。这很尴尬。谢谢。 ^^ – RayJohnson