ser*_*i12 3 php database codeigniter
我想使用codeIgniter活动记录在表中选择多个列.选择使用
$this->db->select('*');
$this->db->from($this->table_name);
Run Code Online (Sandbox Code Playgroud)
但是选择一些列,例如
$this->db->select('username','email','last_login','created','modified','group_id');
$this->db->from($this->table_name);
Run Code Online (Sandbox Code Playgroud)
不起作用.它只返回一个包含第一列值的数组.我怎么这么做?
根据codeIgniter用户指南,他们给出了以下示例.所以我认为它应该适用于我的情况.
$this->db->select('title, content, date');
$query = $this->db->get('mytable');
// Produces: SELECT title, content, date FROM mytable
Run Code Online (Sandbox Code Playgroud)
第二个查询将无法正常工作,因为select()需要将字符串或数组作为第一个参数,而不是采用无限制的参数.在您的示例中,仅username选择.正确的字符串语法是这样的:
$this->db->select('username, email, last_login, created, modified, group_id');
Run Code Online (Sandbox Code Playgroud)
我可以与你分享更多内容,但我建议你通过Active Record文档再读一两次.祝你好运,并享受Codeigniter!
编辑后:请注意这两个例子的不同之处:
1 - 此行将每列作为单独的参数传递:
$this->db
->select('username','email','last_login','created','modified','group_id');
Run Code Online (Sandbox Code Playgroud)
2 - 此行正确传递一个参数(逗号分隔的字符串):
$this->db
->select('username, email, last_login, created, modified, group_id');
Run Code Online (Sandbox Code Playgroud)
请注意(正确)示例2中每个列名称周围没有引号.在示例1中,有几个参数传递给函数,只使用了第一个参数,而其余参数被忽略.