数据库查询 return stdClass组成的数组

database query return an array composed of stdClass

我在从记录中获取价值时遇到了问题。 这是我想要做的: 1. 从数据库中获取一条记录 2.将查询结果转为数组 3. 显示数组[0],但出现错误undefined offset:1

var_dump() : array(1) { [0]=> object(stdClass)#23 (1) { ["nama"]=> string(9) "Test Name" } }

自己尝试查询,return一条记录: |用户名|名字| |Testuser|Testnama|

那么我怎样才能得到 'Testuser'?

model/verify_login_model

function getinfo($username) {
    $this->db->select('nama', 'username');
    $this->db->from('tb_userInfo');
    $this->db->where('username', $username);
    $this->db->limit(1);

    $result = $this->db->get();
    if($result->num_rows()==1) {
        return $result->result();

    } else {
        return false;
    }
}

controller/verify_login

public function index(){
    $this->load->model('verify_login_model');
    $username = $this->input->post('username');
    $password = $this->input->post('password');
    $result = $this->verify_login_model->verify($username, $password);
    if($result == $username) {

        $row = $this->verify_login_model->getinfo($username);
        echo var_dump($row);
        $sessiondata = array('name'=>$row[0], 'username'=>$row[1]);
        $this->session->set_userdata($sessiondata);
        $name = $sessiondata['name'];
        $this->load->view('home_view', $name);

    } else {
        redirect('login');
    }
}

view/home_view

<html>
<head></head>
<body>
    welcome, <?php echo $name?>
</body>
</html>

您的模型returns您使用的对象数组

return $result->result();

为了将结果作为普通数组使用:

return $result->result_array();

阅读有关生成查询结果的更多信息here

根据CI查询结果显示

https://ellislab.com/codeigniter/user-guide/database/results.html

->result()这个函数returns将查询结果作为对象数组,

stdClass 怎么样 - 在此处查看

要获得结果,您必须按照以下步骤进行操作

$sessiondata = array('name'=>$row[0]->nama, 'username'=>$row[0]->yourfield);

将其可视化有点像 array(1) { [0]=> object(stdClass)#23 (1) { Your query result } } 并获取指向对象 $var[0]->Object 的数据。但是您也可以更改为 result_array() 并将其视为数组而不是现在的对象。

result_array()

 $sessiondata = array('name'=>$row[0]['nama'], 'username'=>$row[0]['yourfield']);

希望对您有所帮助。