Php 致命错误:在第53行调用未定义的方法Database::prepare()
所以我在我的课堂上做了一个函数,它应该从我的数据库中获取设置。这给了我一个错误:Php 致命错误:在第53行调用未定义的方法Database::prepare(),php,Php,所以我在我的课堂上做了一个函数,它应该从我的数据库中获取设置。这给了我一个错误: Fatal error: call to undefined method Database::prepare() 在53号线 这是第51行到第66行(我多画了几行,因为你可以看到整个函数 public function getSetting( $setting ) { $query = $this->db->prepare( 'SELECT value FROM ' . $this->
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
内容通过构造函数传递
有人能帮我修一下吗
谢谢
编辑:
Cups要求我在$this->db
上使用var_dump
,这是输出。(我对它进行了一点美化)
我明白了。
$db
只是对db类的引用。我忘了把连接变量放在它们之间。看起来问题出在你的数据库类中-错误是说它没有prepare()方法。@MattBrowne我以前用过同样的方法,然后它工作了…在第52行add var_dump($this->db)看什么happens@Cups它只给了我一大堆代码。我将把它编辑成这个问题。@ZephryteZephryte是数据库
您的数据库类?var\u转储什么(方法存在($this->db,'prepare'))输出?
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) } }