PHP Classes

File: phpSweetPDO/Exceptions/DbException.php

Recommend this page to a friend!
  Classes of FractalizeR2   PHP Sweet PDO   phpSweetPDO/Exceptions/DbException.php   Download  
File: phpSweetPDO/Exceptions/DbException.php
Role: Class source
Content type: text/plain
Description: Detailed info about PDO exception
Class: PHP Sweet PDO
Access databases using PDO
Author: By
Last change:
Date: 12 years ago
Size: 2,427 bytes
 

Contents

Class file image Download
<?php
/*
 * ========================================================================
 * Copyright (c) 2011 Vladislav "FractalizeR" Rastrusny
 * Website: http://www.fractalizer.ru
 * Email: FractalizeR@yandex.ru
 * ------------------------------------------------------------------------
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ========================================================================
 */

namespace phpSweetPDO\Exceptions;

/**
 * Database connection exception class
 *
 */
class DbException extends \Exception {

   
/**
     * SQLState of exception
     *
     * @var string
     */
   
public $sqlState;

   
/**
     * Error message description, that comes from driver
     *
     * @var string
     */
   
public $driverErrorMessage;

   
/**
     * Driver-specific error code
     *
     * @var string
     */
   
public $driverErrorCode;

   
/**
     * SQL statement that caused the error
     * @var string
     */
   
public $sqlStatement;

   
/**
     * Parameters that were passed to the statement
     * @var array
     */
   
public $sqlParams;

   
/**
     * Exception constructor
     * @param array $errorInfo Error info array from PDO call
     * @param string $sqlStatement SQL statement
     * @param array $sqlParams Arguments, passed to SQL statement
     */
   
public function __construct(array $errorInfo, $sqlStatement = '', $sqlParams = array()) {
       
$this->sqlState = $errorInfo[0];
       
$this->driverErrorMessage = $errorInfo[2];
       
$this->driverErrorCode = $errorInfo[1];
       
$this->sqlStatement = $sqlStatement;
       
$this->sqlParams = $sqlParams;
       
$sqlParamsText = var_export($sqlParams, true);
       
parent::__construct("Database error [{$errorInfo[0]}]: {$errorInfo[2]}, driver error code is {$errorInfo[1]} SQL: $sqlStatement Arguments: $sqlParamsText");
    }
}