久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

larval中怎樣捕獲mysql錯誤

154次閱讀
沒有評論

共計 1340 個字符,預計需要花費 4 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章主要介紹了 larval 中怎樣捕獲 mysql 錯誤,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓丸趣 TV 小編帶著大家一起了解一下。

larval 捕獲 mysql 錯誤的方法:1、使用 errorInfo 變量返回 SQLSTATE 錯誤和消息;2、使用異常處理程序“app/Exceptions/Handler.php 并偵聽 QueryExceptions”將所有 SQL 錯誤記錄到數據。

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..
 // ....
}

感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享 larval 中怎樣捕獲 mysql 錯誤內容對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,遇到問題就找丸趣 TV,詳細的解決方法等著你來學習!

向 AI 問一下細節

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-18發表,共計1340字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 伊通| 睢宁县| 灌南县| 利辛县| 邻水| 偏关县| 漳浦县| 南通市| 平凉市| 郴州市| 丹寨县| 沁阳市| 罗江县| 乐山市| 交口县| 汕头市| 东台市| 韶山市| 大港区| 岳阳市| 金塔县| 方山县| 葫芦岛市| 五台县| 富阳市| 金溪县| 钟山县| 雅江县| 梁平县| 富平县| 天峻县| 谢通门县| 金塔县| 平乐县| 北票市| 穆棱市| 伽师县| 大石桥市| 黄陵县| 清水河县| 合江县|