我是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();
}
}
?>
如何解决此错误?
答案 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');