所以我在课堂上创建了一个函数,它应该从我的数据库中获取设置。它给了我这个错误:
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) } }
答案 0 :(得分:1)
想出来。 $db
仅是对DB类的引用。我忘了把连接变量放在。