Login   Register  
PHP Classes
elePHPant
Icontem

File: phpSweetPDO/Exceptions/DbException.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  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: 2011-05-03 03:10
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($sqlParamstrue);
        
parent::__construct("Database error [{$errorInfo[0]}]: {$errorInfo[2]}, driver error code is {$errorInfo[1]} SQL: $sqlStatement Arguments: $sqlParamsText");
    }
}