From e31dfb643a2b70b1ae7dc467b379fb2026709341 Mon Sep 17 00:00:00 2001 From: Jörn Friedrich Dreyer <jfd@butonic.de> Date: Wed, 12 Sep 2012 12:45:20 +0200 Subject: add getErrorMessage to OC_DB --- lib/db.php | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/lib/db.php b/lib/db.php index ee69e5f8299..4317f798484 100644 --- a/lib/db.php +++ b/lib/db.php @@ -649,6 +649,30 @@ class OC_DB { return false; } } + + /** + * returns the error code and message as a string for logging + * works with MDB2 and PDOException + * @param mixed $error + * @return string + */ + public static function getErrorMessage($error) { + if ( self::$backend==self::BACKEND_MDB2 and PEAR::isError($error) ) { + $msg = $error->getCode() . ': ' . $error->getMessage(); + if (defined('DEBUG') && DEBUG) { + $msg .= '(' . $error->getDebugInfo() . ')'; + } + } elseif (self::$backend==self::BACKEND_PDO and self::$PDO) { + $msg = self::$PDO->errorCode() . ': '; + $errorInfo = self::$PDO->errorInfo(); + if (is_array($errorInfo)) { + $msg .= 'SQLSTATE = '.$errorInfo[0] . ', '; + $msg .= 'Driver Code = '.$errorInfo[1] . ', '; + $msg .= 'Driver Message = '.$errorInfo[2]; + } + } + return $msg; + } } /** -- cgit v1.2.3