0

我刚开始学习 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

现在我不知道这段代码有什么问题。

4

3 回答 3

1

乍一看,在您看来,foreach您应该这样做:

<h3><?=$row->title?></h3>
<p><?=$row->body?></p>
于 2012-09-05T09:16:05.050 回答
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>  
于 2012-09-05T09:16:40.837 回答
1

正如其他人所建议的那样,您应该将其更改$row->$title$row->title 非常简单

$title是一个变量,它包含My所以当你说$row->$title你实际上是在说$row->My哪个会导致错误

于 2012-09-05T09:43:08.323 回答