我想使用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
答案 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中,有几个参数传递给函数,只使用了第一个参数,而其余的则被忽略。