Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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中未定义的方法CI_DB_mysqli_result::fetch_assoc()_Php_Codeigniter_Mysqli - Fatal编程技术网

Php 调用CodeIgniter中未定义的方法CI_DB_mysqli_result::fetch_assoc()

Php 调用CodeIgniter中未定义的方法CI_DB_mysqli_result::fetch_assoc(),php,codeigniter,mysqli,Php,Codeigniter,Mysqli,我有以下功能 function getQuery($sql,$returnType = ''){ $data = array(); $result = $this->db->query($sql); if($result){ switch($returnType){ case 'count': $data = $result->num_rows; br

我有以下功能

function getQuery($sql,$returnType = ''){
    $data = array();
    $result = $this->db->query($sql);
    if($result){
        switch($returnType){
            case 'count':
                $data = $result->num_rows;
                break;
            case 'single':
                $data = $result->fetch_assoc();  //Line 55
                break;
            default:
                if($result->num_rows > 0){
                    while($row = $result->fetch_assoc()){
                        $data[] = $row;
                    }
                }
        }
    }
    if(!empty($data)) {
        return $data;
    }
    return false;
}
执行此方法时,返回以下错误

类型:错误

消息:调用未定义的方法CI_DB_mysqli_result::fetch_assoc()

电话号码:55


我不明白为什么会显示错误。请帮忙

您可以针对您的问题尝试以下解决方案:

function getQuery($sql,$returnType = ''){
    $data = array();
    $result = $this->db->query($sql);
    if($result){
        switch($returnType){
            case 'count':
                $data = $result->num_rows;
                break;
            case 'single':
                $data = $result->row();  // CodeIgniter return single row 
                break;
            default:
                if($result->num_rows > 0){
                    $data = $result->result(); // CodeIgniter return result object and you can set result_array() get array list
                }
        }
    }
    if(!empty($data)) {
        return $data;
    }
    return false;
}
fetch\u assoc()
不是Codeignetor查询生成器的方法,它是mysqli的actaullay方法,但您使用的是“Codeignetor查询生成器”

对于单列使用,如

$query = $this->db->query("YOUR QUERY");

$row = $query->row();

if (isset($row))
{
        echo $row->title;
        echo $row->name;
        echo $row->body;
}
对于多行:

$query = $this->db->query("YOUR QUERY");

foreach ($query->result_array() as $row)
{
        echo $row['title'];
        echo $row['name'];
        echo $row['body'];
}
你必须使用下面的代码

function getQuery($sql,$returnType = ''){
    $data = array();
    $result = $this->db->query($sql);
    if($result){
        switch($returnType){
            case 'count':
                $data = $result->num_rows();
                break;
            case 'single':
                $data = $result->row_array(); // return result as array
                 or
                $data = $result->row(); //  return result as object
                break;
            default:
                $data = $result->result_array(); // result in array
                or
                $data =  $result->result(); // return a objects
        }
    }
    if(!empty($data)) {
        return $data;
    }
    return false;
}

现在显示:无法使用stdClass类型的对象作为数组如何访问$dataNikunj代码中的字段返回一个对象以便您可以访问单行$data->first_name它只是exmaple是的,您可以在$data->first_name之后访问单行。现在我得到了foreach()错误提供的无效参数,我正在尝试将其用作foreach($info['options']作为$opt)您好Amaan plz请参考您对其工作原理有一些基本了解我有一些基本想法,但我只想问如何将这一行与2D数组一起使用这里我只想提取与行值'options'相对应的列值