Php Codeigniter SQL查询返回单个值
我正在使用CodeIgniter,我想从表中获得最高的ID。这是我通过模型中的函数实现的。但是我没有得到结果,这是一个单一的值,作为返回值 代码: 如何更改在控制器中调用此函数时获得单个值的代码?尝试以下操作:Php Codeigniter SQL查询返回单个值,php,sql,codeigniter,Php,Sql,Codeigniter,我正在使用CodeIgniter,我想从表中获得最高的ID。这是我通过模型中的函数实现的。但是我没有得到结果,这是一个单一的值,作为返回值 代码: 如何更改在控制器中调用此函数时获得单个值的代码?尝试以下操作: function get_highest_answer_id(){ $this->db->query('SELECT MAX(id) AS answerid FROM pa_it_answer;'); if ($query = $this->db->
function get_highest_answer_id(){
$this->db->query('SELECT MAX(id) AS answerid FROM pa_it_answer;');
if ($query = $this->db->get()) {
if ($query->num_rows() > 0) {
return $query->row(); // here!!!
} else {
return array();
}
} else {
return FALSE;
}
}
我建议使用CI(已编辑)
像这样在codeigniter中更改您的查询
function get_highest_answer_id(){
$this->db->select('MAX(id) AS answerid');
if ($query = $this->db->get('pa_it_answer')) {
if ($query->num_rows() > 0) {
return $query->result();
} else {
return array();
}
} else {
return FALSE;
}
}
下面的代码对我来说很好用
$MAXID = 0;
$row = $this->db->query('SELECT MAX(id) AS answerid FROM pa_it_answer')->row();
if ($row) {
$MAXID = $row->answerid;
}
您只需使用
row()
max
如果不对查询进行分组,则返回单个值。当我尝试MikeAutos解决方案时,会出现以下消息:发生数据库错误错误编号:1096未使用表选择*文件名:C://../application/models/Model.php行号:825Hi!推荐的解决方案?我编辑帖子以适应推荐的解决方案。
function get_highest_answer_id(){
$this->db->select('MAX(id) AS answerid');
if ($query = $this->db->get('pa_it_answer')) {
if ($query->num_rows() > 0) {
return $query->result();
} else {
return array();
}
} else {
return FALSE;
}
}
$MAXID = 0;
$row = $this->db->query('SELECT MAX(id) AS answerid FROM pa_it_answer')->row();
if ($row) {
$MAXID = $row->answerid;
}
function get_highest_answer_id(){
$record = $this->db->query('SELECT MAX(id) AS answerid FROM pa_it_answer;')->row();
if ($record) {
return $record->answerid;
}
else {
return FALSE;
}
}