从多列中选择:codeIgniter

时间:2011-05-24 15:35:02

标签: php database codeigniter

我想使用codeIgniter活动记录在表中选择多个列。选择

    $this->db->select('*');
    $this->db->from($this->table_name);

但是选择多个列,例如

   $this->db->select('username','email','last_login','created','modified','group_id');
    $this->db->from($this->table_name);

不起作用。它只返回一个包含第一列值的数组。我该怎么做?

根据CodeIgniter用户指南,他们给出了以下示例。所以我认为它应该适用于我的情况。

$this->db->select('title, content, date');

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

// Produces: SELECT title, content, date FROM mytable

1 个答案:

答案 0 :(得分:6)

第二个查询将无法正常工作,因为select()期望字符串或数组作为第一个参数而不是无限制的参数。在您的示例中,只会选择username。正确的字符串语法是这样的:

$this->db->select('username, email, last_login, created, modified, group_id');

我可以与您分享更多内容,但我建议您通过Active Record documentation进行另一次或两次阅读。祝你好运,享受Codeigniter!

编辑后:请注意以下两个示例的不同之处:

1 - 此行将每列作为单独的参数传递:

$this->db
    ->select('username','email','last_login','created','modified','group_id');

2 - 此行正确传递一个参数(以逗号分隔的字符串):

$this->db
    ->select('username, email, last_login, created, modified, group_id');

请注意(正确)示例 2 中每个列名称周围没有引号。在示例1中,有几个参数传递给函数,只使用了第一个参数,而其余的则被忽略。