我想使用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
第二个查询将无法按预期工作,因为select()
需要一个字符串或数组作为第一个参数,而不是使用无限参数。在您的示例中,只会选择username
。字符串的正确语法如下:
$this->db->select('username, email, last_login, created, modified, group_id');
我可以与您分享更多内容,但我建议您再阅读一两次Active Record文档。祝你好运,享受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中,有几个参数传递给函数,并且只使用第一个参数,而忽略其余参数。