解析器错误:语法错误,codeIgniter中意外的$ data(T_VARIABLE)

问题描述:

我是CodeIgniter的新手。当我尝试用控制器和视图和模型传递数据,我有这样的:

Syntax error: Unexpected '$data'(T_VARIABLE) in c:\xampp\htdocs\ci\application\controllers\users.php on line 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); 
      } 
    } 
?> 

在views文件夹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(); 
      } 
    } 
?> 

我该如何解决这个错误?

为什么你的错误说c:\xampp\htdocs\ci\application\users.php应该不是一直C:\ XAMPP \ htdocs中\ CI \应用\controller \ users.php`

+0

好赶上 – Linus

+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> 
+0

感谢您的评论。我检查了它。但有同样的错误。 –

+0

最新错误? –

+0

错误是:严重性:解析错误;消息:语法错误,意外的'$ data'(T_VARIABLE);文件名:controllers/users.php –

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

在你从

foreach($result as $object){ 

view更改为

foreach($results as $object){ 
+0

感谢您的意见。我改变了它,但仍然有相同的错误。 –

使用$results在foreach循环和检查

+0

感谢您的评论。我改变了它,并尝试但仍然有相同的错误。 –

首先,你必须加载模型:

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

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

$this->user_model->get_users(); 

你在你的代码多了一个错误,即你没有加载功能

更新你的代码中加入下面一行显示的第一线模型()函数

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