diff --git a/lib/SimpleSAML/Database.php b/lib/SimpleSAML/Database.php
index 9dbc707d0829e00b2564903a5708858f963b2bb0..28e88c142add05039dd84078a31ba51913fe5e4f 100644
--- a/lib/SimpleSAML/Database.php
+++ b/lib/SimpleSAML/Database.php
@@ -42,6 +42,11 @@ class Database
      */
     private $tablePrefix;
 
+    /**
+     * Array with information on the last error occurred.
+     */
+    private $lastError;
+
 
     /**
      * Retrieves the current database instance. Will create a new one if there isn't an existing connection.
@@ -194,7 +199,7 @@ class Database
      * @param array  $params Parameters
      *
      * @throws \Exception If an error happens while trying to execute the query.
-     * @return \PDO statement object
+     * @return \PDOStatement object
      */
     private function query($db, $stmt, $params)
     {
@@ -217,6 +222,7 @@ class Database
 
             return $query;
         } catch (\PDOException $e) {
+            $this->lastError = $db->errorInfo();
             throw new \Exception("Database error: ".$e->getMessage());
         }
     }
@@ -230,7 +236,7 @@ class Database
      * @param string $stmt Prepared SQL statement
      *
      * @throws \Exception If an error happens while trying to execute the query.
-     * @return \PDO statement object
+     * @return \PDOStatement object
      */
     private function exec($db, $stmt)
     {
@@ -242,6 +248,7 @@ class Database
 
             return $query;
         } catch (\PDOException $e) {
+            $this->lastError = $db->errorInfo();
             throw new \Exception("Database error: ".$e->getMessage());
         }
     }
@@ -253,7 +260,7 @@ class Database
      * @param string $stmt Prepared SQL statement
      * @param array  $params Parameters
      *
-     * @return \PDO statement object
+     * @return \PDOStatement object
      */
     public function write($stmt, $params = array())
     {
@@ -274,7 +281,7 @@ class Database
      * @param string $stmt Prepared SQL statement
      * @param array  $params Parameters
      *
-     * @return \PDO statement object
+     * @return \PDOStatement object
      */
     public function read($stmt, $params = array())
     {
@@ -282,4 +289,15 @@ class Database
 
         return $this->query($db, $stmt, $params);
     }
+
+
+    /**
+     * Return an array with information about the last operation performed in the database.
+     *
+     * @return array The array with error information.
+     */
+    public function getLastError()
+    {
+        return $this->lastError;
+    }
 }