PHP DB访问语法:“$ this-> db-> select ...”如何使用“get()”?

时间:2012-01-14 17:28:26

标签: php sql database

我正在编辑其他人的代码,我是一名PHP初学者。

我想访问数据库“tga_purchase_items”中名为“email”的列的内容,其中行的“id”为“14”。我想将输出保存到变量“$ sp_email”。

我的代码是:

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

尽管数据库字段已明确填充,但变量显示为空。

我做错了什么?我不习惯这个“ - >”完全没有语法。

2 个答案:

答案 0 :(得分: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上阅读这些功能。

答案 1 :(得分:1)

我没有使用CodeIgniter和Active Record(我更喜欢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

相关问题