简体   繁体   English

CODEIGNITER-消息:试图获取非对象的属性

[英]CODEIGNITER - Message: Trying to get property of non-object

I got the following message: 我收到以下消息:

A PHP Error was encountered 遇到PHP错误

Severity: Notice 严重程度:注意

Message: Trying to get property of non-object 消息:试图获取非对象的属性

Filename: models/usermodel.php 文件名:models / usermodel.php

Line Number: 4146 行号:4146

and here is my function where the line 4146 is: 这是我的函数,第4146行是:

else if($resultRes->average<'3' &&  $resultRes->average>='2')

This is the full function code. 这是完整的功能代码。 I have the same message for line 4137, 4140, 4143, 4146 and 4149 我对4137、4140、4143、4146和4149行有相同的消息

function get_Ranking($resid=''){
$sql="select ((Qrating+Srating+Drating+Crating)/4) as average from testimonial where RestId=".$resid;
$query=$this->db->query($sql);
$resultRes=$query->row();
if($resultRes->average == '5'){
return '050';
}
else if($resultRes->average<'5' &&  $resultRes->average>='4'){
return '040';
}
else if($resultRes->average<'4' &&  $resultRes->average>='3'){
return '030';
}
else if($resultRes->average<'3' &&  $resultRes->average>='2'){
return '020';
}
else if($resultRes->average<'2' &&  $resultRes->average>='1'){
return '010';
}

else{
return '000';
}
}

How can i fix it? 我该如何解决?

It's because some of your queries are empty. 这是因为您的某些查询为空。

if($query->num_rows() != 0)

first 第一

Try with 试试看

if($resultRes[0]['average'] == '5'){
    return '050';
}
else if($resultRes[0]['average'] < '5' &&  $resultRes[0]['average'] >= '4'){
    return '040';
}

Since it will return an single row only,You can either use $resultRes['average'] directly. 由于它将仅返回一行,因此您可以直接使用$resultRes['average']

Try to print the $resultRes before getting average from it. 尝试打印$ resultRes,然后再获取平均值。

$resultRes=$query->row();
printr($resultRes);

also print the last query and check whether your parameters are correctly populated in the query using below query. 还要打印最后一个查询,并使用下面的查询检查您的参数是否在查询中正确填充。

echo $this->db->last_query();

It can be the case your parameter is empty and no record retrieved from table. 可能是您的参数为空并且没有从表中检索到任何记录的情况。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM