2017-01-27 21 views
0

codeigniterのmysqlクエリで変数値を渡すことは可能ですか?codeigniterのSQLクエリに変数値を渡す方法は?

私のセッションIDと同じIDを持つレコードをデータベースから選択したいとします。

私のコードは次のとおりです。

$this->db->select('*'); // <-- There is never any reason to write this line! 
$this->db->from('products');   
$this->db->where('id_admin = (SELECT id_admin FROM users WHERE id='.$this->session->userdata('user_id').')', NULL, TRUE); 

は、我々は、データベースクエリで変数の値を連結することができますか?

このコードは何もエラーはありませんが、結果もありません。

+0

joinを使用します。 –

+0

以下のように答えてみてください。 –

答えて

1

アン例リファレンスに参加します。

$article_id = $this->input->post('article_id'); 
$this->db->select('*'); 
$this->db->from('articles'); 
$this->db->join('news', 'news.id = articles.id'); 
$this->db->where('articles.id',$article_id); 
$query = $this->db->get(); 

上記のコードは、実行のために次のようにクエリを生成します。

SELECT * FROM articles JOIN news ON news.id = articles.id WHERE articles.id='10' 

は、渡されたIDを使用して、以下のコードを実行する必要があります実行されたクエリの検索結果を表示するためには10

提供しました。

print_r($query->result()); 
1

このようにして2つのテーブルを結合してみてください。

<?php 
$this->db->select('products.*'); 
$this->db->from('products'); 
$this->db->join('users','products.id_admin=users.id_admin'); 
$this->db->where('users.id',$this->session->userdata('user_id')); 

$query = $this->db->get(); 

print_r($query->result_array());//your array of records 
2

使用すると、アクティブなレコードをアクティブレコードのドキュメントごとにCIにクエリをJOINの書き方の

$this->db->select('p.*'); 
    $this->db->from('products as p'); 
    $this->db->join('users','p.id_admin=users.id'); 
    $this->db->where('users.id',$this->session->userdata('user_id'),false); 
    $query = $this->db->get(); 
関連する問題