我正在根据用户选择的日期从数据库中提取数字数据。出于某种原因,当我选择我的函数来提取今天的所有数据(没有)时,它仍然会形成一个空值数组。使用CodeIgniter向数组返回空值的数据库查询?
我在考虑问题在于select_sum()或where()函数。这里是我的CI查询:
$this->db
->select_sum('column1')
->select_sum('column2')
->select_sum('column3')
->where('created_at >=', date('Y-m-d'));
$query = $this->db->get('table_name');
,这里是整个页面中使用我的foreach循环拉所有选定的数据到一个数组:
$popular_items_array = array();
foreach ($query->result() as $key => $row)
{
if ($row == NULL) {
echo "Error populating table.";
} else {
$popular_items_array = $row;
}
}
要看看数据,然后我做:
echo json_encode($popular_items_array);
果然出这一点:
{"column1":null,"column2":null,"column3":null}
如果我选择不同的时间范围(数据实际存在于设定的日期),则相同的JSON回显将显示现有数据。我不理解的是,为什么查询返回任何东西?为什么它不是失败?我怎样才能运行一个能够解决这个问题的检查/循环,并显示一条错误消息,让用户知道该日期没有数据?
什么是$ this-> db-> last_query();在$ query = $ this-> db-> get('table_name');之后返回线?看看实际的查询是什么样的,我会很有兴趣。 –
@DazzKnowles查询看起来像这样 SUM('column1')AS column1,SUM('column2')AS column2,SUM('column3')AS column3 FROM('table_name')WHERE'created_at'> ='2013 -07-01' – Spookytheboy