致命错误:调用未定义的方法User-> get_fullname()

时间:2015-01-18 14:20:31

标签: php mysql oop

我从数据库获取数据时遇到问题。 这是我的功能:

        public function get_fullname($uid) 
        {
            $result = mysql_query("SELECT name FROM users WHERE uid = $uid");
            var_dump(mysql_result($result));
            if(mysql_result($result)>0){
                //$user_data = mysql_fetch_array($result);
                echo $user_data['name'];
            }
            else{
            print_r('chuj');
            }
        }

这是我的函数调用:

$uid = $_SESSION['uid'];

$user = new User();
$register = $user->get_fullname($uid);

我的代码出了什么问题?

文件Functions.php中的完整类:

    include_once 'config.php';
    class User
    {
        //Połączenie z bazą danych
        public function __construct() 
        {
            $db = new DB_Class();
        }
        //Rejestracja
        public function register_user($name, $username, $password, $email) 
        {
            $password = md5($password);
            $sql = mysql_query("SELECT uid from users WHERE username = '$username' or email = '$email'");
            $no_rows = mysql_num_rows($sql);
            if ($no_rows == 0) 
            {
                $result = mysql_query("INSERT INTO users(username, password, name, email) values ('$username', '$password','$name','$email')") or die(mysql_error());
                return $result;
            }
            else
            {
                return FALSE;
            }
        }
        //Logowanie
        public function check_login($emailusername, $password) 
        {
            $password = md5($password);
            $result = mysql_query("SELECT uid from users WHERE email = '$emailusername' or username='$emailusername' and password = '$password'");
            $user_data = mysql_fetch_array($result);
            $no_rows = mysql_num_rows($result);
            if ($no_rows == 1) 
            {
                $_SESSION['login'] = true;
                $_SESSION['uid'] = $user_data['uid'];
                var_dump($_SESSION);
                return TRUE;
            }
            else
            {
                return FALSE;
            }
        }
        //Pobieranie imienia
            public function get_fullname($uid) 
            {
                $result = mysql_query("SELECT * FROM users WHERE uid ='".$uid."'");
                $user_data = mysql_fetch_array($result);
                $no_rows = mysql_num_rows($result);
                if($no_rows>0){
                    $user_data = mysql_fetch_array($result);
                    //echo $user_data['name'];
                    return $user_data['name'];
                }
                else{
                    print_r('chuj');
                    return FALSE;
                }
            }
        //Sesja
            public function get_session() 
            {
                return $_SESSION['login'];
            }
        //Wylogowanie
        public function user_logout() 
        {
            $_SESSION['login'] = FALSE;
            session_destroy();
        }

    }

&GT?; 致命错误:调用未定义的方法User-> get_fullname()

1 个答案:

答案 0 :(得分:1)

Rizier123的评论是正确的,但不是问题的原因。

我尝试重现错误但失败了。这意味着你可能会在某个地方使用旧版本。如果你正在使用FTP等,你确定你上传了User类,因为你添加了这个功能吗?

此外,请确保最新的用户类包含在您正在使用它的文件中。