【发布时间】:2021-12-27 06:49:34
【问题描述】:
我尝试用我的网络中的日期条件计算我的所有行,但我不知道为什么我的代码仍然不起作用。我尝试在我的列(created_at)前面添加(日期),但结果:
错误“消息:在布尔值上调用成员函数 num_rows()”
这是我的代码:
public function hitungPerbaikan()
{
$date = new DateTime('now');
$curr_date = $date->format('Y-m-d');
$this->db->where('update_at', $curr_date);
$this->db->where('status >=', '2');
$this->db->from('tbl_kerusakan');
return $this->db->count_all_results();
}
【问题讨论】:
-
似乎查询在 SQL Server 上生成错误,因此 PHP 中的结果是
false而不是数据集,这就是导致count_all_results()失败的原因。您最好调用$db_result = $this->db->get(),测试$db_result是否为false(失败),然后在不是错误时返回$db_result->num_rows()。 -
如果我猜测错误的原因很可能
update_at是datetime列并且您的连接/服务器有set dateformat dmy有效。尝试使用$date->format('Ymd')来查看错误是否消失。这将在今天生成20211227,而不是2021-12-27,并在set dateformat dmy生效时成功转换为datetime值。 -
感谢您的帮助,我现在知道日期时间格式 sqlserver,最后我在哪里添加 >= 以使其工作
标签: sql sql-server iis codeigniter-3