我使用CodeIgniter 3.1.3构建了一个网站,并且从昨天开始就遇到了这个问题我不知道我做错了什么。它只是简单地从数据库中获取简单的jQuery {{ 1}}在视图中获取数据,并将附加到$.post()
。
数据库表格中的所有数据都已成功显示,但日期时间除外!
型号:
div
控制器:
public function get_new_kokok($option) {
if ($option['last_showed']) {
$query = $this->db->query("SELECT * FROM kokok WHERE id_kokok>$option[last_showed] AND privacy=1 ORDER BY id_kokok ASC LIMIT 1");
} else {
$query = $this->db->query("SELECT * FROM kokok WHERE id_kokok=(SELECT MAX(id_kokok) FROM kokok WHERE privacy=1)");
}
return $query->result();
}
我得到了:
来自数据库的原始未格式化日期时间(“2017-02-09 13:46:57”)应该出现在名字“Elena Chereishline”之后的右下方,但事实并非如此。
第25行是:$data = $this->model->get_new_kokok(array('last_showed'=>$this->input->post('last_showed')));
foreach($data as $kokok) {
$id_kokok = $kokok->id_kokok;
$id_user = $kokok->id_user;
$kokok = $this->kokok_escape($kokok->kokok);
$fullname = $this->model->get_userinfo('fullname',$id_user);
$timee = $kokok->timee;
//$time = date('h:i A',strtotime($timee));
echo "<div class=\"clearfix\">";
echo "<div class=\"kokokan\" data-id-kokok=\"$id_kokok\" style=\"display:none\"><p>$kokok</p><small><a href=\"".base_url()."yay/profile/$id_user\">$fullname</a> • $timee</small></div>";
echo "</div>";
}
当我评论该行时,不会发生错误。
遇到PHP错误
严重性:注意
消息:尝试获取非对象的属性
的var_dump:
$timee = $kokok->timee;
答案 0 :(得分:0)
在您的foreach
循环内部,您正在重新分配$kokok
,该$kokok = $kokok->kokok
应该是一个对象。
您正在重新分配$kokok
。这是您对象的属性...所以现在当您尝试访问kokok
时,它不再是kokok
对象,而是原始$kokok->kokok
对象的属性... { {1}}。
如果不知道你的函数$this->kokok_escape();
是什么,就没有办法进一步提供帮助。
你可以尝试:
$kokok = $this->kokok_escape($kokok);
答案 1 :(得分:0)
最后我知道自己问题的答案。感谢@JethroHazelhurst非常敏锐并注意到这一行有错误:
$kokok = $this->kokok_escape($kokok->kokok);
是的,我使用变量名$kokok = ...
,而$kokok
是foreach循环使用的变量:
foreach($data as $kokok) {
所以$kokok
从用字符串替换的数组搞砸了。
抱歉,谢谢大家。 :&#39)