0

次のメッセージを受け取りました。

PHP エラーが発生しました

重大度: 通知

メッセージ: 非オブジェクトのプロパティを取得しようとしています

ファイル名: models/usermodel.php

ライン番号: 4146

これが私の関数で、4146行目は次のとおりです。

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

これは完全な機能コードです。行 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';
}
}

どうすれば修正できますか?

4

3 に答える 3

3

これは、クエリの一部が空であるためです。

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

最初

于 2013-12-14T22:51:51.790 に答える
0

平均を取得する前に $resultRes を出力してみてください。

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

また、最後のクエリを出力し、以下のクエリを使用してクエリにパラメータが正しく入力されているかどうかを確認します。

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

パラメータが空で、テーブルからレコードが取得されていない可能性があります。

于 2013-11-08T12:54:07.303 に答える