2015-04-06 145 views
0

即时新的codeigniter学生。我使用这个函数来获取数据库中的选项值(在function_helper.php中)在助手文件夹中。但我不能得到任何结果get_option函数返回未定义索引

function get_option($name, $default = '') { 

    $CI = &get_instance(); 

    $query = $CI->db->get_where('setting',array('s_name'=>$name),1); 

    $result = $query->result(); 

    return $result['s_value']; 
} 

我测试result_array()row_array()代替result()但仍然返回该错误:

A PHP Error was encountered 

Severity: Notice 

Message: Undefined index: s_value 

Filename: helpers/functions_helper.php 

Line Number: 27 

更新1print_r($result)回报Array()

更新2:我在主控制器中使用这个简单的代码,但没有任何回报:

$query = $this->db->get('setting'); 

     foreach ($query->result() as $row) 
      { 
      echo $row->s_name; 
      } 

更新3:将dbdriver从pdo更改为mysql更新2代码工作。但仍返回相同的错误的主要问题和reyurn:Message: Trying to get property of non-object

更新4:更新后3 print_r($result);回报:

Array ([0] => stdClass Object ([id] => 4 [s_name] => test [s_value] => bbbbbbbbbbbbb)) 

return $result->s_value;还是回到Message: Trying to get property of non-object

更新5:我找到答案我发布在新的答案

+0

@PravinS返回此错误:消息:试图让非对象 – user3243573 2015-04-06 06:28:53

+0

请使用的print_r($结果)的产权和查看返回数据结构 – absiddiqueLive 2015-04-06 06:50:00

回答

0

我找到解决办法:

1:更改DBdriver从PDO到mysqli的。

2:此功能:

function get_option($name, $default = '') { 

    $CI = &get_instance(); 

    $query = $CI->db->get_where('setting',array('s_name'=>$name),1);  
    $result = $query->row_array(); 

    if($query->num_rows() > 0) { 
     return $result['s_value']; 
    } 
    return $default; //if now records found return something 
} 
0

可能是你的查询没有返回任何行,它总是好的实际上是试图访问它之前检查的行数,如:

function get_option($name, $default = '') { 

    $CI = &get_instance(); 

    $query = $CI->db->get_where('setting',array('s_name'=>$name),1);  
    $result = $query->result(); 

    if($query->num_rows() > 0) { 
     return $result->s_value; 
    } 
    return ""; //if now records found return something 
} 
+0

我使用这个功能但仍然返回:消息:试图获取非对象的属性 – user3243573 2015-04-06 06:41:33

+0

@ user3243573 echo $ query-> num_rows();显示..? – 2015-04-06 06:42:30

+0

返回1号码。似乎发生返回值错误时 – user3243573 2015-04-06 06:44:19