好吧,所以我基本上试图用PHP OOP来改进,但是我不太确定我应该怎么做。有人能指出这个问题吗?PHP OOP,未定义的属性。我怎样才能使这个工作?
的代码返回以下错误:
说明:未定义的属性:登记:: $ userExist 致命错误:调用一个成员函数fetch()方法的非对象上
类:
class registration extends connect{
public function userExist(){
global $dsn;
$userExist = $this->dsn->prepare("
SELECT * FROM accounts
WHERE username= :username
");
$userExist->bindParam(':username', $username);
$userExist->execute();
$rows = $this->userExist->fetch(PDO::FETCH_NUM);
return $rows;
}
如何,我想使用这个类在页面上:
$conn = new connect();
$registration = new registration();
$rows = $registration->userExist();
if($rows < 1){
// do something
您没有使用'$ this'上全局变量。 – frz3993
是的,但是你知道它不工作的原因吗? – Exhibitioner
我可以猜测。没有足够的信息看到。当准备失败时,它不会返回一个对象。所以你的'$ userExist'不会是一个对象。当它不是一个对象时,它没有任何属性。在这种情况下,'fetch'。 – frz3993