![](/img/trans.png)
[英]codeigniter update error: Invalid argument supplied for foreach()
[英]CodeIgniter error Invalid argument supplied for foreach()
我正在尝试从数据库选择数据,但出现此错误:
A PHP Error was encountered
Severity: Warning
Message: Invalid argument supplied for foreach()
Filename: controllers/hello.php
Line Number: 24
控制器:
<?php
// system/application/controllers/hello.php
class Hello extends CI_Controller {
public function __construct()
{
parent::__construct();
}
function show_data() {
$query = $this->load->model('user');
foreach ($query->result() as $value) {
echo $value -> username;
echo $value -> password;
echo $value -> first_name;
echo $value -> last_name;
}
}
}
?>
模型:
class User extends CI_Model {
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function show()
{
$query = $this->db->get('user', 10);
return $query->result();
}
}
我正在看本教程: https : //www.codeigniter.com/user_guide/database/results.html
错误是什么意思?
您的控制器功能应类似于
function show_data() {
$this->load->model('user');
$query = $this->user->show();
foreach($query as $value) {
echo $value->username;
echo $value->password;
echo $value->first_name;
echo $value->last_name;
}
}
在此处查看如何加载模型。
您要调用$ query-> result()两次,一次在模型中一次,一次在循环中,您应该只执行一次。 那只是一个错误。
另一个更重要的是,您启动了模型(并将它分配给变量,这是不必要的,而且是不正确的做法),并且您不会从模型中调用该函数。
因此,首先您必须在控制器(您的函数或构造中,如果您打算更频繁地使用此模型)中初始化模型:$ this-> load-> model('my_model');
然后,您可以访问要使用的功能:$ this-> my_model-> my_model_function()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.