首页 > 解决方案 > Codeigniter 将数据库值分配给变量

问题描述

我收到以下错误

遇到 PHP 错误

严重性:4096

消息:stdClass 类的对象无法转换为字符串

尝试执行以下操作时

所以我有一个用户表,它有一个“特权”列。如果此列设置为 1,则用户是“特权用户”,如果设置为 0,则不是。

此值由我的帐户注册表指定。

我想要做的是在 codeigniter 中设置一个变量,如果用户有特权,则为 1,如果没有,则为 0。

我一直在尝试的是以下内容;

在我的模型中,我有以下内容;

 public function get_privileged($user_id){
    // $this->db->where('user_id',$id);
    // $this->db->select('privileged');
    // $query = $this->db->get('users');
    $query = $this->db->select('privileged')->from('users')->where('id',$user_id)->get();
    return $query->row();

}

**在我看来,我有以下 **

<?php $user_id = $this->session->userdata('user_id');?>
<?php $status =  $this->user_model->get_privileged($user_id);?>
<?php var_dump($status);?>

我一直试图首先在我的控制器中回显结果,所以我知道它是否有效,最终目标是将值分配给变量,例如变量 $status。

var转储的结果是

object(stdClass)#27 (1) { ["privileged"]=> string(1) "0" } 

请注意,该用户的值 0 是正确的

如果从数据库返回零,我想将变量设置为零,如果从数据库返回 1,我想将变量设置为 1。

我怎么能做到这一点,我已经遵循了所有的 codeigniter 文档,但没有得到任何地方,我是新手。

标签: phparraysdatabasecodeigniter

解决方案


我相信问题在于它返回的是一个对象而不是字符串。

两个得到我想要的值我使用了以下echo $status->privileged;


推荐阅读