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

PHP/MySQL-调用成员函数query(),php,mysql,function,Php,Mysql,Function,到目前为止,我的代码运行良好。 我不知道怎么了 public function maintenanceAll() { $zeile = $this->db->query('SELECT * FROM maintenance LIMIT 1'); $row = $zeile->fetch(PDO::FETCH_ASSOC); if (!$row['status']) { return true; } else {

到目前为止,我的代码运行良好。 我不知道怎么了

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();
        }
    }
}
public function __construct()
{
    $this->db = new DB();
    $this->db = $this->db->connect();
}
User.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();
        }
    }
}
public function __construct()
{
    $this->db = new DB();
    $this->db = $this->db->connect();
}

$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();
}

您是如何创建连接的?显示U请提供连接代码。没有问题。所有其他构造类似于该函数的函数都可以正常工作。@RayJohnson有点不对劲。也许在此之前调用的某个东西正在以一种您不期望的方式设置
$this->db
,错误信息表明连接不是它期望的。但这怎么可能呢?在另一个Web服务器上,它可以完美地工作:/可能在另一个Web服务器上,数据库IP、端口、用户名、密码等不同。如果您将
$this->db
转储并发布字符串,它将为您提供更多信息。我的数据库连接不正确。那太尴尬了。谢谢^^没问题!我建议你删除你在这篇文章中的答案,因为它不是答案,你可以把答案编辑到你的问题的顶部:)。