0

我有以下控制器(supernavigationloggedin):

<?php

class Supernavigationloggedin extends CI_Controller {  
    function index(){
        #get current session id
            $currentSessionID = $this->session->userdata('session_id'); 
        #get all the account row for the given sessionID
            $data['info'] = $this->db->get_where('Client', array('session_id'=>$currentSessionID))->row(); 
        #views
            $this->load->view('supernavigationloggedin',$data);
    } 
}


?>

以及名为(supernavigationloggedin)的以下视图:

<div id="superNavigation">
    <h5><strong>Welcome</strong>, <?php $info->fname; ?>&nbsp;<a href="#">Account Settings</a></h5>
    <div class="clearL"> </div>
</div

>

它不断在线抛出错误:<h5><strong>Welcome</strong>, <?php echo $info['fname']; ?>&nbsp;<a href="#">Account该消息:>>> Trying to get property of non-object

我试过了:<?php echo $info['fname']; ?> <?php echo $info->fname; ?> 但似乎都不管用。

4

1 回答 1

1

这是因为$info  是空的并且没有进行数据库请求。如果您希望查询返回一个对象,则必须这样做:

$data['info'] = $this->db->get_where('Client', array('session_id'=>$currentSessionID))->row();

或者这样,如果您更喜欢将其放入数组中:

$data['info'] = $this->db->get_where('Client', array('session_id'=>$currentSessionID))->row_array();

这样它应该可以工作。row()或者row_array()是执行查询所必需的。

于 2012-11-09T19:43:16.233 回答