编码错误:消息:未定义变量:结果


codeigniter error :Message: Undefined variable: results

我通过CodeIgniter表单在表中添加用户。Insertion运行正常。但删除选定的记录后,我得到未定义的变量结果。我还定义了

 $results = NULL;
控制器代码中的

。我的代码发生了什么?

控制器代码

$results = NULL;
$this->load->model('User');
$form_data['results'] = $this->User->view_table();
$this->load->view('User/User_login', $form_data);

查看user_login.php中的代码

<?php 
            if(sizeof($results)>0){
                foreach ($results as $row){
                    echo "<tr style='text-align:center';>";
                    echo "<td>".$id=$row->id."</td>";
                    echo "<td>".$row->first_name."</td>";
                    echo "<td>".$row->last_name."</td>";
                    echo "<td>".$row->username."</td>";
                    echo "<td>".$row->email."</td>";
                    echo "<td><a href = ".base_url().'Users/user_edit'.">Edit</a>|<a href=".base_url().'Users/user_delete/'.$id=$row->id.">Delete</a></td>";
                   // echo $id; die();
                echo "</tr>";
            }
            }else{
                echo "no record found";
            }
            ?>
误差

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: results
Filename: User/User_login.php
Line Number: 44

使用isset来检查变量是否被定义

<?php 
        if(isset($results)){
            foreach ($results as $row){
                echo "<tr style='text-align:center';>";
                echo "<td>".$id=$row->id."</td>";
                echo "<td>".$row->first_name."</td>";
                echo "<td>".$row->last_name."</td>";
                echo "<td>".$row->username."</td>";
                echo "<td>".$row->email."</td>";
                echo "<td><a href = ".base_url().'Users/user_edit'.">Edit</a>|<a href=".base_url().'Users/user_delete/'.$id=$row->id.">Delete</a></td>";
               // echo $id; die();
            echo "</tr>";
        }
        }else{
            echo "no record found";
        }
        ?>

收取

您已将其设置为null,但尚未将其传递给已传递的视图的$results$form_data到view一般来说,codeigniter将传递给view的所有keys转换为变量,因此你会看到未定义的消息,因为你的$this->User->view_table();没有返回任何内容,它被分配给$form_data['results']

我猜$this->User->view_table()函数有时返回NULL。查一下。