2012-01-14 9 views
0

他の人のコードを編集しています。私はPHPの初心者です。

データベースの「tga_purchase_items」の行の「id」が「14」の「email」という列の内容にアクセスします。出力を変数 "$ sp_email"に保存します。

私が持っているコードは、このようです:データベースフィールドが確実に取り込まれるが

$sp_email = $this->db->select("email")->from("tga_purchase_items")->where("id", 14)->get(); 

変数は空に出ています。

私は間違っていますか?私はこの " - >"構文にまったく慣れていません。

+0

このアクティブレコードはCodeIgniterにありますか? –

+3

構文は "オブジェクト指向"で、 "db"内のクラスはわかりません。たとえば、上記のコードとは異なる動作をするDBクラスもあります。クラスdbの仕組みがわからないと答えることができません。 – prdatur

+0

@KemalFadillah、コードの構文の根拠を明確にしてくれてありがとう。私は以前に何を検索するか分からなかった。 – barryedmund

答えて

3

データベースで使用される構文は、Codeigniterとアクティブなレコードに向かっています。

この場合、次のコードは電子メール列を取得します。

$result_set = $this->db->select("email")->from("tga_purchase_items")->where("id", 14)->get(); 

$result_object = $result_set->row(); 

$sp_email = $result_object->email; 

あなたが欠けているのは、取得した結果セットからデータを取得することです。 get()関数は、ネイティブのMySQLi Resultクラスに似た結果セットを返します。つまり、このセットから必要なデータを取得する必要があります。 CodeIgniterには、row()row_array()result()result_array()manual pageについて読むことができるさまざまな機能があります。

+0

これはそれを爪... 10/10。 Benありがとう。 – barryedmund

1

私はCodeIgniterのとアクティブレコードであまり行っていない(私はZend Frameworkのを好む)が、私はこのようなものは、トリックを行うだろうと思う:より詳細な説明については、この時

$this->db->select('email'); 
$sp_email = $this->db->get_where('tga_purchase_items', array('id' => '14')); 

ルック: http://codeigniter.com/user_guide/database/active_record.html

+0

ありがとうございます。私はコードネータのリンクがすばらしくなるように何を検索するかわからなかった。私は今あなたが提供したコード提案を試してみる。 – barryedmund

関連する問題