簡體   English   中英

PHP 錯誤:致命錯誤:未捕獲錯誤:調用未定義的方法 stdClass::update() 出了什么問題?

[英]PHP Error : Fatal error: Uncaught Error: Call to undefined method stdClass::update() What is going wrong?

我不明白為什么在運行以下代碼時會出現該錯誤

$user = $user->find_user_by_id_oop(2);
$user->password = "Pass";
$user->update();

這里我的 find_user_by_id_oop 方法 insite User 類

public function find_user_by_id_oop($user_id) {
    global $database;
    $result = $database->query("SELECT * FROM users WHERE id= {$user_id} LIMIT 1");
    $found_user = $result->fetch_object();

    return $found_user;
}

這里也是我在 User 類中的更新方法

public function update($userID, $username, $password, $first_name, $last_name, $email) {
    global $database;
    global $session;
    $name = trim($database->escape_string($username));
    $pass = trim($database->escape_string($password));
    $firstname = trim($database->escape_string($first_name));
    $lastname = trim($database->escape_string($last_name));
    $email_address = trim($database->connection->real_escape_string($email));

    $query = "UPDATE users SET username='$name' , password='$pass' , first_name='$firstname' , last_name='$lastname' , email='$email_address' where id=$userID";
    $res = $database->query($query);

    if ($res) {
        $session->message('Data Updated');
        return $res;
    } else {
        $session->message('Data Not Updated');
    }
}

我的課上也有這些變量

public $username, $id, $first_name, $last_name, $password;

我在類括號外實例化類

$user = new User();

我的問題是通過在 fetch_object(User::class); 上傳遞類名來解決的;

下面固定功能

   public static function find_user_by_id_oop($user_id)
{
    global $database;
    $result = $database->query("SELECT * FROM users WHERE id= {$user_id} LIMIT 1");
    return $result->fetch_object(User::class);

}

我在這里找到了相關信息: mysqli_result::fetch_object

class_name

要實例化的類的名稱,設置其屬性並返回。 如果未指定,則返回 stdClass 對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM