php - CodeIgniter 无法回显日期时间结果

标签 php mysql codeigniter datetime codeigniter-3

我用 CodeIgniter 3.1.3 构建了一个网站,从昨天开始就遇到了这个问题我不知道我哪里做错了。它只是简单地使用简单的 jQuery 从数据库获取数据$.post() 在 View 中获取数据并将附加到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();
}

Controller :

$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>";
}

我得到:

Result of the first try

数据库中的原始未格式化日期时间(“2017-02-09 13:46:57”)应该出现在名称“Elena Chereishline”之后的右下角,但事实并非如此。

第 25 行是:$timee = $kokok->timee; 当我评论该行时,没有发生错误。

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

var_dump:

array(1) {
    [0]=> object(stdClass)#22 (11) {
        ["id_kokok"]=> string(1) "3"
        ["id_user"]=> string(1) "2"
        ["kokok"]=> string(57) "Aku punya anak lho, maksudku anak ayam :v #gaadayangnanya"
        ["react_like"]=> NULL
        ["react_love"]=> NULL
        ["react_fun"]=> NULL
        ["react_meh"]=> NULL
        ["react_mad"]=> NULL
        ["react_sad"]=> NULL
        ["privacy"]=> string(1) "1"
        ["timee"]=> string(19) "2017-02-09 13:46:57"
    }
}

所以我的问题是,这是什么或为什么会发生?如何解决这个问题?我很困惑_(:"3

最佳答案

foreach 循环内,您正在重新分配 $kokok ,它应该是一个对象。

您正在重新分配$kokok = $kokok->kokok。这是您对象的属性...所以现在当您尝试访问 $kokok 时,它不再是 kokok 对象,而是原始 的属性kokok 对象... $kokok->kokok

如果不知道你的函数 $this->kokok_escape(); 的作用,就无法提供进一步的帮助。

你可以尝试:

$kokok = $this->kokok_escape($kokok);

关于php - CodeIgniter 无法回显日期时间结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42227031/

相关文章:

php - 获取 POST 请求的域

php - Codeigniter:连接多个表

php - MySQL Count 表中的行数 WHERE userid 等于? - 代码点火器

php - 过时的 SQL 注入(inject)预防器?

javascript - PHP 表格 : If a input field is empty then do not send the table data to mail

php - 需要验证 mysql 和 PHP 中空结果的编码语法

mysql - 使用 activerecord ruby​​ 计数不同

javascript - 如何从数据库中的字段制作饼图?

PHP 警告 : Cannot load module "http" because required module "raphf" is not loaded in Unknown on line 0

MySql select IN 子句字符串逗号分隔