tp6中DB操作异常PHP7.4版本兼容问题

浏览:1225 发布日期:2020/12/09 分类:ThinkPHP6专区
在PHP7.4版本中,tp6在操作db时 出现\PDOException异常会传递给think\db\exception\PDOException,将$exception->errorInfo【0】设置给SQLSTATE报错 导致真实错误不能显示,$exception->errorInfo实际=null,
php7.1正常  public function __construct(\PDOException $exception, array $config = [], string $sql = '', int $code = 10501)
    {
        $error = $exception->errorInfo;//=null
        $this->setData('PDO Error Info', [
            'SQLSTATE'             => $error[0],
            'Driver Error Code'    => isset($error[1]) ? $error[1] : 0,
            'Driver Error Message' => isset($error[2]) ? $error[2] : '',
        ]);

        parent::__construct($exception->getMessage(), $config, $sql, $code);
    }
最佳答案
评论( 相关
后面还有条评论,点击查看>>