larval 捕获mysql错误_larval 如何捕获mysql错误

larval 如何捕获mysql错误

larval捕获mysql错误的方法:1、使用errorInfo变量返回SQLSTATE错误和消息;2、使用异常处理程序“app/Exceptions/Handler.php并侦听QueryExceptions”将所有SQL错误记录到数据。

1f839aff2b29d86e684cbfcee3934a5b.png

推荐:《mysql视频教程》

Laravel使用PDO,因此您可以使用errorInfo变量返回SQLSTATE错误和消息。基本上,您需要使用$e->errorInfo;

如果要将所有SQL错误记录到数据库中,可以使用异常处理程序(app/Exceptions/Handler.php并侦听QueryExceptions。像这样的:public function render($request, Exception $e)

{

switch ($e) {

case ($e instanceof \Illuminate\Database\QueryException):

LogTracker::saveSqlError($e);

break;

default:

LogTracker::saveError($e, $e->getCode());

}

return parent::render($request, $e);

}

然后你可以用这样的东西:public function saveSqlError($exception)

{

$sql = $exception->getSql();

$bindings = $exception->getBindings()

// Process the query's SQL and parameters and create the exact query

foreach ($bindings as $i => $binding) {

if ($binding instanceof \DateTime) {

$bindings[$i] = $binding->format('\'Y-m-d H:i:s\'');

} else {

if (is_string($binding)) {

$bindings[$i] = "'$binding'";

}

}

}

$query = str_replace(array('%', '?'), array('%%', '%s'), $sql);

$query = vsprintf($query, $bindings);

// Here's the part you need

$errorInfo = $exception->errorInfo;

$data = [

'sql' => $query,

'message' => isset($errorInfo[2]) ? $errorInfo[2] : '',

'sql_state' => $errorInfo[0],

'error_code' => $errorInfo[1]

];

// Now store the error into database, if you want..

// ....

}

larval 如何捕获mysql错误的教程已介绍完毕,更多请关注跳墙网其他文章教程!

larval 如何捕获mysql错误相关教程

php如何实现类

php实现类的方法是:【class 类名{ }】,如【?php class Student { }】。类是由属性、方法、常量组成的,类名以字母、下划线开头,后面跟字母、数字、下划线。 在PHP中实现类和对象 (学习视频推荐:java课程) 1、创建类 语法: class 类名{//属性//方法//

php如何实现utf8转gbk

php实现utf8转gbk的方法:首先创建一个PHP示例文件;然后设置header头;最后通过“iconv(UTF-8,gbk//TRANSLIT,$str);”将字符串的编码从UTF8转到GB2312即可。 推荐:《PHP视频教程》 php把utf8转换为gbk 代码如下: ?phpheader(Content-type:text/html;chars

php如何实现json转字符串

在php中可以使用json_decode函数实现json转字符串,该函数的作用就是对JSON格式的字符串进行解码,其使用语法是“json_decode ( string $json [, bool $assoc...]) ”。 推荐:《PHP视频教程》 json_decode — 对 JSON 格式的字符串进行解码 说明 json_decod

qt5.8如何连接mysql

qt5.8连接mysql的方法:首先编译生成mysql的驱动;然后下载“libmysql.dll”库,并将其放在Qt的bin文件夹下;最后创建连接代码文件进行测试即可。 推荐:《mysql视频教程》 qt5.8连接mysql数据库 Qt Creator下连接mysql的解决办法。下面以qt5.8.0、mysql5.7.

docker如何正确部署web项目呢

具体步骤如下: (推荐教程:docker教程) 一:随便创建目录dock,准备好如下文件: 二、编写Dockerfile,通过它能快速地构建docker镜像 vi Dockerfile 新增如下配置 FROM centosMAINTAINER this is dock image jshADD jdk1.8.0_191 /usr/local/javaENV JAVA

Composer如何强制重新安装包

下面由 composer 教程栏目给大家介绍Composer强制重新安装包的方法,希望对需要的朋友有所帮助! php下composer 可以使用如下命令重新安装依赖包: composer install --prefer-source 相关介绍: Composer 是 PHP 的一个依赖管理工具。我们可以在项目中声明所

如何让 WordPress 支持 WebP格式图片

下面由 WordPress教程 栏目给大家介绍让 WordPress 支持 WebP格式图片的办法,希望对需要的朋友有所帮助! WordPress 默认不支持WebP格式图片上传,将下面代码添加到当前主题函数模板functions.php中,即可解决上传问题。 function webp_filter_mime_types( $

如何通过宝塔面板实现MySQL性能简单调优

下面由 宝塔 教程栏目给大家介绍如何通过宝塔面板实现MySQL性能简单调优,希望对需要的朋友有所帮助! 在PHP+MYSQL架构网站运行过程中,往往会遇到各种性能问题影响,如MySQL、PHP、CPU、磁盘IO、缓存等,其中MySQL瓶颈就是最常见也最难解决的一种影响网站性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值