Codeigniter$this->db->get(),如何返回特定行的值?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (13)

假设我有一个包含三个列的数据库表:ID、Name和AGE。我需要找到具有特定(唯一)ID的用户,然后返回年龄。目前,我正在使用以下代码

$this->db->where('id', '3');
$q = $this->db->get('my_users_table');

如何为这个用户获取年龄?我想我得用

$q->result()

但不确定如何使用一行。

提问于
用户回答回答于

解一

$this->db->where('id', '3');
// here we select every column of the table
$q = $this->db->get('my_users_table');
$data = $q->result_array();

echo($data[0]['age']);

解二

// here we select just the age column
$this->db->select('age');
$this->db->where('id', '3');
$q = $this->db->get('my_users_table');
$data = $q->result_array();

echo($data[0]['age']);

解三

$this->db->select('age');
$this->db->where('id', '3');
$q = $this->db->get('my_users_table');
// if id is unique, we want to return just one row
$data = array_shift($q->result_array());

echo($data['age']);

解四(无活动记录)

$q = $this->db->query('SELECT age FROM my_users_table WHERE id = ?',array(3));
$data = array_shift($q->result_array());
echo($data['age']);
用户回答回答于

你可以使用row()代替结果()。

$this->db->where('id', '3');
$q = $this->db->get('my_users_table')->row();

扫码关注云+社区