我是CodeIgniter的新手,但我非常熟悉像Symfony这样的MVC框架。
我正在更改自定义辅助函数,我从db中检索数据。我认为数据库检索不起作用,但我没有收到任何错误。辅助函数只是忽略错误。日志文件中没有错误(log_threshold = 4),而die()也被忽略。
我将在下面发布帮助函数,但我的问题不是我的代码有什么问题(如果有的话),问题是为什么错误和die()被忽略,我该怎么做才能解决这个问题?
function getRates() {
$ci=& get_instance();
$ci->load->database();
$ci->db->select('currency_values.*');
$ci->db->from('version1.currency_values');
$currencyValues = $ci->db->get();
$lastUpdated = strtotime($currencyValues->result()[0]->last_updated);
die(">>> $lastUpdated <<<"); //This gets ignored
if ($lastUpdated > time() - 600)
{
//Code here that SHOULD be running
}
else
{
//Code here that ALWAYS runs, most likely because db retrieval is not working
}
答案 0 :(得分:0)
尝试使用try和catch并打印异常错误
try
{
}
catch(Exception $e){
echo $e;
}
答案 1 :(得分:0)
PHP无法忽略 die()调用。通过放几个假人来确认它:
echo "1\n";
在多个地方或通过
使用exit()
代替die()
。虽然完全猜测,但解释器可能正在从其他地方读取代码。这种情况如果不是那么罕见。
如果没有报告错误并且数据库检索失败,您可以使用PHP异常处理或将 error_reporting 设置为 E_ALL 。
error_reporting(E_ALL);
ini_set('display_errors', 1);