2014-05-07 108 views
0

Hi, I am following this guide and copying exactly what is posted(作者忘记了一些大括号,并且我更改了密码等)。我的问题是在register.inc.php文件中。“呼叫成员函数..在非对象上”

这里是以下错误,当用户尝试

呼叫登记成员函数准备()在/ home// /includes/register.inc.php上的非对象我接收该文件的48行

线48是

$stmt = $members_mysqli->prepare($prep_stmt); 

这里是整个register.inc.php文件:

http://pastebin.com/YcQ7unb0(它在本网站的格式不正确)

+0

快速浏览的机会,你需要使用'$ mysqli-> prepare',而不是'$ members_mysqli-> prepare'因为它是在你的代码的第30行使用与一个非常相似的SQL查询 –

+0

看看相关的问题.. – user2864740

回答

1

$ members_mysqli可能是一个错字。它从未被创造。您使用另一个名为$ mysqli的变量。也许这就是你打算使用的那个。检查你的包含文件,并确保你实际实例化了$ members_mysqli。

当您尝试将未创建/未实例化的变量用作对象时,会引发“对非对象成员函数的调用”错误。

例如:

// create an object 
$blah = new Blah(); 

// call a function on it 
$blah->doSomething(); 

// no error, because $blah exists. however, if my next line is: 
$blue->doSomething(); 

// I'd get an error because $blue was never created 
+0

他是正确的,从提供的代码中,无处是'$ members_mysqli'实例化。 – Darren

相关问题