如何修复Uncaught ArgumentCountError:函数Update :: index()的参数太少,

时间:2019-01-29 11:16:22

标签: php

<?php
class Update extends Controller
{
    public function __construct()
    {
        if(!isLoggedIn()){
            redirect('users/login');
        }

        $this->updateModel = $this->model('Update_model');
        $this->userModel = $this->model('User');

    }


    public function index($id){
        $user = $this->userModel->getUserById($id);

        $data = [
            'user' => $user,
            'desc' => 'Here You can edit or delete Your personal information'
        ];

        $this->view('update/index', $data);
    }

}

我正试图从SQL中仅一个用户并在html视图中键入它,但是我接受这个问题。 我试图从数据库中获取所有用户,但我成功了,没关系,但不能仅获得一个用户。

这是我获得一个用户的方法

 public function getUserById($id){

    $this->db->query('SELECT * FROM users WHERE id = :id');
    $this->db->bind(':id', $id);

    $row = $this->db->single();

    return $row;
}

当我从函数索引( $ id )删除$ id时,我收到另一个错误 注意:未定义的变量:第16行的C:\ xampp \ htdocs \ crudmvc \ app \ controllers \ Update.php中的ID

1 个答案:

答案 0 :(得分:0)

我已删除index()中的$ id参数,并将$ id分配为

public function index()
    {
        $id = $_SESSION['user_id'];
        $user = $this->userModel->getUserById($id);

        $data = [
            'user' => $user,
            'desc' => 'Here You can edit or delete Your personal information'
        ];

        $this->view('update/index', $data);
    }