0

私のコントローラーでは、次のコードを使用してデータをモデルに渡しています。

$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 Object ( [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] => )

4

4 に答える 4

0

query の後に Forget するだけ$query->result()です。

于 2014-05-27T11:11:25.720 に答える
0

あなたが試すことができます:

$get_gid = $this->db->query('SELECT * FROM users WHERE gid = '.$data['gid'].');
于 2013-07-11T06:10:15.917 に答える
0

gid = $data['gid'] を試しましたか

あなたのモデルメソッドは次のようになると思います:

insert_entry($data)
{
     here active record or query...
 }

はいの場合、クエリを表示して、$data['gid'] がそこに表示されているかどうかを確認してください

あなたはそれを試すことができます

$this->db->get_compiled_select();

または、クエリの実行後

$this->db->last_query();
于 2013-07-10T23:39:00.593 に答える
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;
}
于 2013-07-11T03:44:22.020 に答える