![](/img/trans.png)
[英]Undefined variable & Invalid argument supplied for foreach() in CodeIgniter
[英]Undefined variable and Invalid argument supplied for foreach()
我正在努力学习codeigniter
,我在这里codeigniter
问题。 在视图上为foreach()提供了未定义的变量和无效参数。 这是代码:
型号(Model_Users.php):
class Model_users extends CI_Model {
function __construct() {
parent::__construct();
}
function getFirstNames(){
$query = $this->db->query('SELECT firstname FROM users');
if($query->num_rows() > 0) {
return $query->result();
} else {
return NULL;
}
}
function getUsers(){
$query = $this->db->query('SELECT * FROM users');
if ($query->num_rows() > 0) {
return $query->result();
} else {
return NULL;
}
}
}
控制器(welcome.php):
class Welcome extends CI_Controller {
public function index()
{
$this->home();
}
public function home()
{
$this->load->model('model_users');
$data['title'] = 'MVC Cool Title';
$data['page_header']='Intro to MVC Design';
$data['firstnames'] = $this->model_users->getFirstNames();
$data['users'] = $this->model_users->getUsers();
$this->load->view('welcome_message',$data);
}
}
查看(Welcome_message.php):
<div id="container">
<h1><?php echo $page_header ?></h1>
<div id="body">
<?php
foreach ($firstnames as $object) {
echo $object->firstname .'<br/>';
}
echo '<br/><hr/><br/>';
foreach ($users as $object){
echo $object->firstname . '\'s email address is'. $object->email . '<br/>';
}
?>
</div>
<p class="footer">Page rendered in <strong>{elapsed_time}</strong> seconds</p>
</div>
请帮我解决我的代码有什么问题?
首先检查值返回任何值或不在控制器使用中写入此代码
var_dump($firstnames)
; 和var_dump($users)
;
我认为没有数据从模型返回检查表中的任何数据谢谢
您可以使用return [];
消除错误return [];
而不是return null;
而不是在每个foreach调用中检查该情况,因为根据提供的代码,您的用户表似乎是空的。
修改您的模型函数,如下所示
function getFirstNames(){
$query = $this->db->get('users')->row()->firstname;
if($query->num_rows() > 0) {
return $query->result_array();
} else {
return NULL;
}
}
function getUsers(){
$query = $this->db->get('users');
if ($query->num_rows() > 0) {
return $query->result_array();
} else {
return NULL;
}
}
希望这会有所帮助
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.