mirror of
https://github.com/dg/dibi.git
synced 2025-08-05 05:37:39 +02:00
- added parameter $name in dibi::getConnection()
- bug fixed error handling in SQlite driver
This commit is contained in:
@@ -14,11 +14,11 @@
|
||||
* @license GNU GENERAL PUBLIC LICENSE v2
|
||||
* @package dibi
|
||||
* @category Database
|
||||
* @version 0.7f $Revision$ $Date$
|
||||
* @version 0.7g $Revision$ $Date$
|
||||
*/
|
||||
|
||||
|
||||
define('DIBI', 'Version 0.7f $Revision$');
|
||||
define('DIBI', 'Version 0.7g $Revision$');
|
||||
|
||||
|
||||
if (version_compare(PHP_VERSION , '5.0.3', '<'))
|
||||
@@ -188,17 +188,25 @@ class dibi
|
||||
/**
|
||||
* Retrieve active connection
|
||||
*
|
||||
* @param string connection registy name
|
||||
* @return object DibiDriver object.
|
||||
* @throw DibiException
|
||||
*/
|
||||
static public function getConnection()
|
||||
static public function getConnection($name=NULL)
|
||||
{
|
||||
if ($name === NULL) {
|
||||
if (!self::$conn)
|
||||
throw new DibiException('Dibi is not connected to database');
|
||||
|
||||
return self::$conn;
|
||||
}
|
||||
|
||||
if (!isset(self::$registry[$name]))
|
||||
throw new DibiException("There is no connection named '$name'.");
|
||||
|
||||
return self::$registry[$name];
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@@ -210,11 +218,7 @@ class dibi
|
||||
*/
|
||||
static public function activate($name)
|
||||
{
|
||||
if (!isset(self::$registry[$name]))
|
||||
throw new DibiException("There is no connection named '$name'.");
|
||||
|
||||
// change active connection
|
||||
self::$conn = self::$registry[$name];
|
||||
self::$conn = self::getConnection($name);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -29,8 +29,7 @@ class DibiSqliteDriver extends DibiDriver
|
||||
private
|
||||
$conn,
|
||||
$insertId = FALSE,
|
||||
$affectedRows = FALSE,
|
||||
$errorMsg;
|
||||
$affectedRows = FALSE;
|
||||
|
||||
public
|
||||
$formats = array(
|
||||
@@ -75,8 +74,7 @@ class DibiSqliteDriver extends DibiDriver
|
||||
{
|
||||
$this->insertId = $this->affectedRows = FALSE;
|
||||
|
||||
$this->errorMsg = '';
|
||||
$res = @sqlite_query($this->conn, $sql, SQLITE_ASSOC, $this->errorMsg);
|
||||
$res = @sqlite_query($this->conn, $sql, SQLITE_ASSOC);
|
||||
|
||||
if ($res === FALSE) return FALSE;
|
||||
|
||||
@@ -125,9 +123,10 @@ class DibiSqliteDriver extends DibiDriver
|
||||
|
||||
public function errorInfo()
|
||||
{
|
||||
$code = sqlite_last_error($this->conn);
|
||||
return array(
|
||||
'message' => $this->errorMsg,
|
||||
'code' => NULL,
|
||||
'message' => sqlite_error_string($code),
|
||||
'code' => $code,
|
||||
);
|
||||
}
|
||||
|
||||
|
@@ -36,6 +36,7 @@ class DibiException extends Exception
|
||||
{
|
||||
$this->dbError = $dbError;
|
||||
$this->sql = $sql;
|
||||
|
||||
parent::__construct($message);
|
||||
}
|
||||
|
||||
@@ -57,7 +58,7 @@ class DibiException extends Exception
|
||||
$s = parent::__toString();
|
||||
|
||||
if ($this->dbError) {
|
||||
$s .= "\nERROR: ";
|
||||
$s .= "\n\nDatabase error: ";
|
||||
if (isset($this->dbError['code']))
|
||||
$s .= "[" . $this->dbError['code'] . "] ";
|
||||
|
||||
|
@@ -1 +1 @@
|
||||
Dibi Version 0.7f
|
||||
Dibi Version 0.7g
|
||||
|
Reference in New Issue
Block a user