Php 严重性:4096消息:类CI_DB_mysql_结果的对象无法转换为字符串
我无法获得查询的字符串结果…如何解决它 型号:Php 严重性:4096消息:类CI_DB_mysql_结果的对象无法转换为字符串,php,mysql,arrays,codeigniter,Php,Mysql,Arrays,Codeigniter,我无法获得查询的字符串结果…如何解决它 型号: class Get_info extends CI_Model { function Get_info() { parent::__construct(); $this->load->database(); } function getFirstName($email){ $query_id=$this->db->query("SELECT user_id FROM us
class Get_info extends CI_Model {
function Get_info() {
parent::__construct();
$this->load->database();
}
function getFirstName($email){
$query_id=$this->db->query("SELECT user_id FROM user WHERE email='$email'");
$query=$this->db->query("SELECT firstname FROM `user_info` WHERE id='$query_id'");
var_dump($query->row());
return $query->result();
}
}
控制器:
$email = $this->input->post('email');
$this->load->model('get_info');
$result = $this->get_info->getFirstName($email);
$profile = $result[0];
$newdata = array(
'email' => $email,
'firstname' => $profile
);
$this->load->library('session');
$this->session->set_userdata( $newdata );
当我在模型中调用var_dump$query时,它会这样回答:objectCI_DB_mysql_result23 8{[conn_id]=>resource62类型mysql link persistent[result_id]=>resource91类型mysql result[result_array]=>array0{}[result_object]=>array0{}[custom_result_object]=>array0{}[current_row]=>int0[num rows]=>int0[row_data]>NULL}
当我在控制器中调用var_dump$profile时,它会回答我:array0{}
我的错在哪里?我只想从查询中获取字符串文本并将其放在数据会话中。$query=$this->db->query从user\u infoWHERE id='$query\u id'中选择firstname
这里$query\u id是上一次查询的结果,而不是INT
您应该这样做,同时保护您的查询:
您也可以选择AR,甚至可以进行唯一查询:
编辑了上面的查询并将结果更改为行,因为您只查找一条记录。现在,您的其他代码也必须更改:
$result = $this->get_info->getFirstName($email);
$newdata = array(
'email' => $result->email,
'firstname' => $result->firstname
);
它返回另一个错误:array1{[0]=>objectstdClass23 1{[firstname]=>string3 awq}}致命错误:在第16行的S:\home\test1.ru\www\application\models\Get_info.php中调用非对象上的成员函数结果
return $this->db->select('user_info.firstname, user.email')
->from('user_info')
->join('user', 'user.user_id = user_info.id')
->where('user.email', $email)
->get()
->row();
$result = $this->get_info->getFirstName($email);
$newdata = array(
'email' => $result->email,
'firstname' => $result->firstname
);