【发布时间】:2016-07-12 17:05:34
【问题描述】:
我在使用 Laravel 5.2 通过 DB Facade 和 select 方法捕获和检索 MySQL 错误代码和消息时遇到了麻烦。
我想要做的是选择/调用一个 MySQL 函数,该函数在带有参数的表中插入一个简单的行。但是,如果不能为空的列的参数为空怎么办? MySQL 抛出错误 (Error Code: 1048)。
问题是在这些情况下,我在 Laravel 中没有收到任何 错误/异常,我不知道插入是否成功或没有以正确的方式处理错误。
这是我的代码:
DB::beginTransaction();
try{
$statement = "select mySQLFunction('".$param."')";
DB::select($statement);
DB::commit();
}catch(\Exception $e){
DB::rollback();
Log::error('Exception: '.$e->getMessage());
}
我想知道是否有办法捕获这种错误代码和消息,以便 Laravel 应用程序可以知道 MySQL 数据库中存在错误。也可以在成功的情况下获取 MySQL 函数的返回值。
提前致谢!
【问题讨论】:
标签: php mysql laravel exception-handling laravel-5.2