fetchOne("SELECT * FROM {{table}} WHERE username = :username", ["username" => $username]); } public function getByUsernameAndPassword($username, $password) { return $this->fetchOne("SELECT * FROM {{table}} WHERE username = :username AND password = :pass", [ "username" => $username, "pass" => $this->cryptPassword($password) ]); } public function updateOnlineTime($id) { $this->doquery("UPDATE {{table}} SET onlinetime=NOW() WHERE id=:id LIMIT 1", ["id" => $id]); } public function createUser($username, $password, $email, $charname, $charclass, $difficulty, $verifycode) { return $this->doquery("INSERT INTO {{table}} SET regdate=NOW(),verify=:verifycode,username=:username,password=:password,email=:email,charname=:charname,charclass=:charclass,difficulty=:difficulty", [ "username" => $username, "password" => $this->cryptPassword($password), "email" => $email, "charname" => $charname, "charclass" => $charclass, "difficulty" => $difficulty, "verifycode" => $verifycode ]); } private function cryptPassword($password) { // TODO: change the password encryption method return md5($password); } }