0

ユーザー名が存在する機能からエラーが発生しています。これがレジスター機能です。

public function register($username, $upassword){
    if(!$this -> exists($username)) {
        $salt = $this->salt();
        $date = date('Y-m-d');
        $password = $this->md5($upassword, $salt);

        $SQL = $this -> db -> prepare("INSERT INTO `user` (username, password, salt, created_at) VALUES(:username, :password, :salt, :date)");
        $SQL -> execute(array(':username' => $username, ':password' => $password, ':salt' => $salt,':date' => $date));
    return TRUE;
  } else {
      return FALSE;
  }
} 

エラーは、この行の準備ステートメントから発生しているようです。

public function exists($username){
       $SQL = $this -> db -> prepare("SELECT COUNT(*) FROM `user` WHERE `username` = :username");
       $SQL -> execute(array(':username' => $username ));
       $count = $SQL -> fetchcolumn(0);
       if($count > 0) {
           return TRUE;
       } else {
           return FALSE;
       }
   }

エラーの取得: Fatal error: Call to a member function prepare() on a non-object in functions.php on line 41

存在関数内の最初の行はどれですか?

誰でもここで私を助けることができますか?

4

2 に答える 2

0

exists() クラスは $this->db を「認識」しません。実際に参照しているか、exists() クラスで使用できる場合は、デバッグしてみてください

于 2013-03-26T08:15:18.773 に答える