解析器错误:语法错误,codeIgniter

时间:2015-09-04 04:47:12

标签: php codeigniter variables

我是CodeIgniter的新手。当我尝试使用控制器和视图和模型传递数据时,我得到了这个:

  

语法错误: 行中 c:\ xampp \ htdocs \ ci \ application \ controllers \ users.php 中的意外'$ data'(T_VARIABLE) 10

这是我的控制器users.php代码:

<?php
class Users extends CI_Controller
    {
        public function show()
            {
                $data['results']=$this->user_model->get_users();
                $this->load->view('user_view',$data);
             }
    }
?>

在观看文件夹user_view.php代码:

<body>
<?php
foreach($results as $object){
    echo $object->username;
}
?>
</body>

在模型文件夹user_model.php代码

<?php
class User_model extends CI_Model
    {
        public function get_users()
            {
                $query=$this->db->get('users');
                return $query->result();
            }
    }
?>

如何解决此错误?

6 个答案:

答案 0 :(得分:1)

为什么您的错误显示c:\xampp\htdocs\ci\application\users.php不应该是c:\ xampp \ htdocs \ ci \ application \controller \ users.php`

答案 1 :(得分:0)

在您的控制器中

public function show()
{
    $data['results']=$this->user_model->get_users();
    $this->load->view('user_view',$data);
}

在你的模特中

public function get_users(){
    $query=$this->db->get('users');
    $result = $query->result_array(); //added
    return $result; //added
}

在视图中

<body>
<?php
    foreach($results as $new_results) //changed
    {
        echo $new_results['username']; //changed
    }
?>
</body>

答案 2 :(得分:0)

您正试图在视图中访问错误的ARRAY。 在您的控制器阵列中,$data['results']不是$data['result']。因此,您需要在$results循环中访问foreach

view改变

foreach($result as $object){

foreach($results as $object){

答案 3 :(得分:0)

在foreach循环中使用$results并检查

答案 4 :(得分:0)

首先,您必须将模型加载为:

$this->load->model('User_model','user_model');

然后您可以使用该模型中定义的函数:

$this->user_model->get_users();

答案 5 :(得分:0)

您的代码中还有一个错误,即您尚未在函数中加载模型

更新您的代码,在show()函数的第一行添加以下行

$this->load->model('user_model');