致命错误:无法在Codeigniter中的写入上下文中使用函数返回值

时间:2017-06-12 19:54:47

标签: php codeigniter mysqli

这是我在模型中使用的功能

public function user_birthday() {

            $this->db->select('birth_day')
            ->from('informations')
            ->where(DATE_FORMAT(FROM_UNIXTIME('birth_day'), '%m-%d') = DATE_FORMAT(NOW(), '%m-%d'));
            $q = $this->db->get();
            return $q->result();
        }

$this->data['user'] = $this->users_m->user_birthday();这样的控制器中运行 和视图中的代码

if (!empty($user)):
        echo $user;
    else:
        echo "No dob found";
    endif;

1 个答案:

答案 0 :(得分:2)

在这种情况下,查询生成器更难以实现它的价值。试试这个

$q= $this->db->query("SELECT birth_day FROM informations WHERE DATE_FORMAT(birth_day, '%m-%d') = DATE_FORMAT(NOW(), '%m-%d')");

//return empty array if not records found
return $q->num_rows() > 0 ? $q->result() : [];

如果你真的,真的,真的想要使用Query Builder,那么

$q = $this->db
    ->select('birth_day')
    ->where("DATE_FORMAT(birth_day, '%m-%d')=", "DATE_FORMAT(NOW(), '%m-%d')", FALSE)
    ->get('informations');

return $q->num_rows() > 0 ? $q->result() : [];