【发布时间】:2014-10-29 06:36:54
【问题描述】:
我正在学习并且正在关注关于数据库选择方法的 CodeIgniter 教程。它的方法之一就是这个。
它的模型文件叫做 data_model.php:
<?php
class Data_model extends CI_Model{
function getAll(){
$this->db->select('title','contents');
$this->db->from('data');
$this->db->where('id',1);
$q = $this->db->get();
if ($q->num_rows() > 0){
foreach($q->result() as $row){
$data[] = $row;
}
}
return $data;
}
}
?>
名为 site.php 的控制器文件
<?php
class Site extends CI_Controller{
function index(){
$this->load->model('data_model');
$data['rows'] = $this->data_model->getAll();
$this->load->view('home',$data);
}
}
?>
并查看名为 home.php 的文件:
<html>
<head>
<title>
</title>
<meta http-equiv="Content-Type" content="text/html"; charset=UTF-8>
</head>
<body>
<div id="container">
<p>My view has been loaded.</p>
<?php foreach($rows as $r) : ?>
<h1><?php echo $r->title; ?></h1>
<div><?php echo $r->contents; ?></div>
<?php endforeach; ?>
</div>
</body>
</html>
当我尝试在浏览器中运行 localhost/ci/ 时,出现错误提示:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: stdClass::$contents
Filename: views/home.php
Line Number: 13
我的 $contents 变量似乎没有任何价值,但我很确定我的数据库中每个对应条目都有内容。如下图所示:
我哪里做错了?我正在遵循的教程没有遇到错误?为什么我收到此错误?
【问题讨论】:
-
做 print_r($rows);exit;并在此处发布输出。
标签: php html database codeigniter codeigniter-2