我剛開始使用CodeIgniter 2,可能我已經監督了一些明顯的東西,但我無法弄清楚。
我的MySQL數據庫有一個名爲Documents的表,名爲online_since。
函數_getMaxOnlineSince()應獲取最大的online_since值並將其作爲字符串返回。
在應用程序/模型/ browse_model.php:
private function _getMaxOnlineSince() {
$this->db->select_max('online_since');
$oQuery = $this->db->get('documents');
return $oQuery->num_rows() > 0 ? $oQuery->row()->online_since : false;
}
而且我得到了瀏覽器的錯誤信息:
Fatal error: Uncaught Error: Call to a member function num_rows() on boolean
因爲$ oQuery的是假的:的var_dump($ oQuery)回報布爾(假)
的var_dump($這 - > DB-> select_max( 'online_since'))返回對象(CI_DB_mysqli_driver)#14(73){...}
Codeigniter 2應用程序在使用PHP5.3的舊服務器上工作,但在更新到PHP 7之後,它在這一點上崩潰。
爲什麼$ this-> db-> get('documents')返回false,我該如何解決?
我能設法得到與SQL查詢此功能工作:
private function _getMaxOnlineSince() {
$oQuery = "select max(online_since) from documents";
$sMaxOnlineSinceDate = $this->db->query($oQuery);
return $sMaxOnlineSinceDate->num_rows() > 0 ? $sMaxOnlineSinceDate->row()->online_since : false;
}
但還有更多的地方,我用
$this->db->get('documents')
我想在我的情況下,CI有麻煩來評價這聲明由於某種原因。我會進一步調試。
'print_r($ oQuery-> result())'返回什麼? – Vickel
致命錯誤:未捕獲錯誤:調用成員函數結果()布爾型 – StandardNerd
表中是否爲空?表中的 – Vickel