mirror of
https://gitlab.com/hashborgir/d2tools.git
synced 2025-04-27 14:55:38 +00:00
82 lines
1.5 KiB
PHP
82 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace RedBeanPHP\RedException;
|
|
|
|
use RedBeanPHP\RedException as RedException;
|
|
|
|
/**
|
|
* SQL Exception.
|
|
* Represents a generic database exception independent of the underlying driver.
|
|
*
|
|
* @file RedBeanPHP/RedException/SQL.php
|
|
* @author Gabor de Mooij and the RedBeanPHP Community
|
|
* @license BSD/GPLv2
|
|
*
|
|
* @copyright
|
|
* (c) copyright G.J.G.T. (Gabor) de Mooij and the RedBeanPHP Community.
|
|
* This source file is subject to the BSD/GPLv2 License that is bundled
|
|
* with this source code in the file license.txt.
|
|
*/
|
|
class SQL extends RedException
|
|
{
|
|
/**
|
|
* @var string
|
|
*/
|
|
private $sqlState;
|
|
|
|
/**
|
|
* @var array
|
|
*/
|
|
private $driverDetails = array();
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public function getDriverDetails()
|
|
{
|
|
return $this->driverDetails;
|
|
}
|
|
|
|
/**
|
|
* @param array $driverDetails
|
|
*/
|
|
public function setDriverDetails($driverDetails)
|
|
{
|
|
$this->driverDetails = $driverDetails;
|
|
}
|
|
|
|
/**
|
|
* Returns an ANSI-92 compliant SQL state.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getSQLState()
|
|
{
|
|
return $this->sqlState;
|
|
}
|
|
|
|
/**
|
|
* Returns the raw SQL STATE, possibly compliant with
|
|
* ANSI SQL error codes - but this depends on database driver.
|
|
*
|
|
* @param string $sqlState SQL state error code
|
|
*
|
|
* @return void
|
|
*/
|
|
public function setSQLState( $sqlState )
|
|
{
|
|
$this->sqlState = $sqlState;
|
|
}
|
|
|
|
/**
|
|
* To String prints both code and SQL state.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function __toString()
|
|
{
|
|
return '[' . $this->getSQLState() . '] - ' . $this->getMessage()."\n".
|
|
'trace: ' . $this->getTraceAsString();
|
|
}
|
|
}
|