<?php
$q3 = $this->db->query("SELECT * FROM default_post_likes
WHERE post_id = $row->id");
$row2 = $q3->row();
if ($row2->post_id == $row->id) {
echo 'Unlike';
} else {
echo '<a class="like" posterid="'.$row->creator_id.'" postid="'.$row->id.'" href="javascript:void(0)">Like</a>';
}
?>
由于某种原因,if部分工作正常,但是else工作并且回显数据但是抛出错误。我在Codeigniter中收到以下错误:
遇到PHP错误
严重性:注意
消息:尝试获取非对象的属性
文件名:views / dashboard.php
行号:74
有什么想法吗?
以下是我的其余代码:http://pastebin.com/4nCzxfY3
答案 0 :(得分:0)
你应该弄清楚为什么缺少这些属性(你很难用你提供的信息来帮助你),但是为了快速修复,这应该是:
if ($row && $row2->post_id == $row->id) {
echo 'Unlike';
} elseif ($row) {
echo '<a class="like" posterid="'.$row->creator_id.'" postid="'.$row->id.'" href="javascript:void(0)">Like</a>';
}
我还避免在foreach循环中运行两个查询。
答案 1 :(得分:0)
你可以试试这个......
echo '<a class="like" posterid="'.$row[creator_id].'" postid="'.$row[id].'"
href="javascript:void(0)">Like</a>';