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'相对应的列值