在我的控制器中,我使用以下代码将数据传递给模型:
$data = array(
'gid' => $this->input->post('gid'),
'name' => $this->input->post('name'),
'pic' => $this->input->post('pic'),
'link' => $this->input->post('link')
);
var_dump($data);
$this->Login_model->insert_entry($data);
在我的模型中,我想要做的是使用gid值作为SQL语句的一部分,如下所示:
$get_gid = $this->db->query('SELECT * FROM users WHERE gid = $gid');
显然这不起作用,所以我只是想知道如何从$ data中获取gid并在我的SQL语句中使用它?
使用
进行测试$get_gid = $this->db->where('gid', $data['gid'])->get('users');
print_r($get_gid);
但是输出是:
CI_DB_mysql_result对象([conn_id] =>资源ID#30 [result_id] =>资源ID#33 [result_array] => Array()[result_object] => Array()[custom_result_object] => Array()[current_row] => 0 [num_rows] => 0 [row_data] => )
答案 0 :(得分:0)
您是否尝试过gid = $ data ['gid']
我假设您的模型方法如下所示:
insert_entry($data)
{
here active record or query...
}
如果是,请尝试显示查询以查看$ data ['gid']是否可见
你可以试试
$this->db->get_compiled_select();
或在查询运行后
$this->db->last_query();
答案 1 :(得分:0)
尝试这种方式:
$data = array(
'gid' => $this->input->post('gid'),
'name' => $this->input->post('name'),
'pic' => $this->input->post('pic'),
'link' => $this->input->post('link')
);
$gid = $data['gid'];
$this->db->where('gid',$gid);
$this->db->from('users');
$query = $this->db->get();
if($query)
{
//you can return query or you can do other operations here like insert the array data
//$this->db->insert('yourtable',$data);
return $query;
}
else
{
return FALSE;
}
答案 2 :(得分:0)
您可以尝试:
$get_gid = $this->db->query('SELECT * FROM users WHERE gid = '.$data['gid'].');
答案 3 :(得分:0)
您只需在查询$query->result()
后忘记。