致命错误:在第53行调用未定义的方法Database :: prepare()

时间:2014-08-31 12:22:54

标签: php

所以我在课堂上创建了一个函数,它应该从我的数据库中获取设置。它给了我这个错误:

Fatal error: call to undefined method Database::prepare()

这是第53行。

这是第51行到66号(因为你可以看到整个功能所以我需要更多行。

public function getSetting( $setting )
{
    $query = $this->db->prepare( 'SELECT value FROM ' . $this->prefix( 'settings' ) . ' WHERE name= ?' );
    $query->bind_param( 's', $setting );
    $query->execute();
    $query->bind_result( $result );
    if ( $query->num_rows > 0 )
    {
        while ( $stmt->fetch() ) 
        {
            return $result;
        }
    }
    $query->free_result();
    $query->close;
}

$db thingie通过构造函数传递。

有人可以帮我解决这个问题吗?

感谢。

编辑:

杯子让我在var_dump上使用$this->db,这是输出。 (我把它美化了一点)

          object(database)#1 (5) { ["hostname"]=> string(9) "localhost" ["username"]=> string(4) "root" ["password"]=> string(0) "" ["database"]=> string(7) "wscript" ["connection"]=> object(mysqli)#2 (19) 
        {
         ["affected_rows"]=> int(0) ["client_info"]=> string(79) "mysqlnd 5.0.11-dev - 20120503 - $Id: bf9ad53b11c9a57efdb1057292d73b928b8c5c77 $" ["client_version"]=> int(50011) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> int(0) 
["error"]=> string(0) "" ["error_list"]=> array(0) { 
        } ["field_count"]=> int(0) ["host_info"]=> string(20) "localhost via TCP/IP" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=> string(6) "5.6.20" ["server_version"]=> int(50620) 
    ["stat"]=> string(136) "Uptime: 18286 Threads: 1 Questions: 1699 Slow queries: 0 Opens: 191 Flush tables: 1 Open tables: 82 Queries per second avg: 0.092" 
    ["sqlstate"]=> string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(216) ["warning_count"]=> int(0) } }

1 个答案:

答案 0 :(得分:1)

想出来。 $db仅是对DB类的引用。我忘了把连接变量放在。

之间