我正在根據用戶選擇的日期從數據庫中提取數字數據。出於某種原因,當我選擇我的函數來提取今天的所有數據(沒有)時,它仍然會形成一個空值數組。使用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