CodeIgniter中未定义的变量ID

I have this todo list project.

My model

class Model_lists extends CI_Model {

function Model_list(){
    parent::__construct();
}

function list_get($id){
    $this->load->database();
    $query = $this->db->get_where('lists', array('id'=>$id));
    return $query->row_array();
}

My Controller

public function view_list($id){
    $this->load->model('model_lists');
    $data["query"] = $this->model_lists->list_get($id);
    $this->load->view('lists/view_list',$data);
}

List view

<?php
 echo $query['list_by'];
?>

However, when I access the view I get 2 PHP errors

1) Message: Missing argument 1 for Lists::view_list()
2) Message: Undefined variable: id

This is how I call the list:

<a class="view_list" href="<?php echo site_url("lists/view_list?lid={$row->list_id}");?>"><i class="icon-eye"> </i></a>

Your site url is not correct. The error is because no id is being passed and in CI (unless you have set to use query arrays) then the url is of the format www.example.com/controller/method/argument

So try:

href="<?php echo site_url('lists/view_list/'.$row->list_id); ?>"

In the docs: http://www.codeigniter.com/user_guide/helpers/url_helper.html#site_url