Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter SQL查询返回单个值_Php_Sql_Codeigniter - Fatal编程技术网

Php Codeigniter SQL查询返回单个值

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->

我正在使用CodeIgniter,我想从表中获得最高的ID。这是我通过模型中的函数实现的。但是我没有得到结果,这是一个单一的值,作为返回值

代码:

如何更改在控制器中调用此函数时获得单个值的代码?

尝试以下操作:

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;
        }
    }