我刚刚开始学习CodeIgnighter,我面临很多问题。
我制作了一个控制器和一个视图,如下所示。
这是我的控制器
<?php
class Blog extends CI_Controller{
function __construct() {
parent::__construct();
}
function index(){
$data['title'] = "My First Blog";
$data['heading'] = "My Blog Heading";
$data['query'] = $this->db->get('entries');
$this->load->view('blog_view' ,$data);
}
}
?>
这是我的观点。
<html>
<head>
<title><?=$title?></title>
</head>
<body>
<h1><?=$heading?></h1>
<?php foreach ($query->result() as $row): ?>
<h3><?=$row->$title?></h3>
<p><?=$row->$body?></p>
<hr>
<?php endforeach;?>
</body>
</html>
当我执行此操作时,我收到此错误。
PHP Error was encountered
Severity: Notice
Message: Undefined property: stdClass::$My First Blog
Filename: views/blog_view.php
Line Number: 9
现在我不知道这段代码有什么问题。
答案 0 :(得分:1)
乍一看,在您的视图foreach
中,您应该这样做:
<h3><?=$row->title?></h3>
<p><?=$row->body?></p>
答案 1 :(得分:1)
从foreach变量中删除“$”:
<html>
<head>
<title><?=$title?></title>
</head>
<body>
<h1><?=$heading?></h1>
<?php foreach ($query->result() as $row): ?>
<h3><?=$row->title?></h3>
<p><?=$row->body?></p>
<hr>
<?php endforeach;?>
</body>
</html>
答案 2 :(得分:1)
正如其他人所建议您应将$row->$title
更改为$row->title
它非常简单
$title
是一个包含My
的变量,因此当您说$row->$title
时,您实际上是在说$row->My
这将导致错误