summaryrefslogtreecommitdiffstats
path: root/modules/database/classes/driver
diff options
context:
space:
mode:
authorDracony <draconyster@gmail.com>2013-01-11 14:15:52 +0200
committerDracony <draconyster@gmail.com>2013-01-11 14:15:52 +0200
commita95be9baa4e7cc327d8e0508ac95af884f00315d (patch)
tree93a9c5752932496a7ae5ac0d26e9b21d3f25890b /modules/database/classes/driver
parent168fd425c75841dd059b061b9f58ce8eef7d01d0 (diff)
downloadPHPixie-a95be9baa4e7cc327d8e0508ac95af884f00315d.zip
PHPixie-a95be9baa4e7cc327d8e0508ac95af884f00315d.tar.gz
PHPixie-a95be9baa4e7cc327d8e0508ac95af884f00315d.tar.bz2
Better error display for PDO
Also changed alias methods
Diffstat (limited to 'modules/database/classes/driver')
-rw-r--r--modules/database/classes/driver/pdo/db.php6
-rw-r--r--modules/database/classes/driver/pdo/query.php4
2 files changed, 6 insertions, 4 deletions
diff --git a/modules/database/classes/driver/pdo/db.php b/modules/database/classes/driver/pdo/db.php
index 59705f7..fa02e63 100644
--- a/modules/database/classes/driver/pdo/db.php
+++ b/modules/database/classes/driver/pdo/db.php
@@ -73,8 +73,10 @@ class DB_PDO_Driver extends DB{
*/
public function execute($query, $params = array()) {
$cursor = $this->conn->prepare($query);
- if(!$cursor->execute($params))
- throw new Exception("Database error: ".implode(' ',$this->conn->errorInfo())." \n in query:\n{$query}");
+ if (!$cursor->execute($params)) {
+ $error = $cursor->errorInfo();
+ throw new Exception("Database error:\n".$error[2]." \n in query:\n{$query}");
+ }
return new Result_PDO_Driver($cursor);
}
} \ No newline at end of file
diff --git a/modules/database/classes/driver/pdo/query.php b/modules/database/classes/driver/pdo/query.php
index 662ce71..647b0c4 100644
--- a/modules/database/classes/driver/pdo/query.php
+++ b/modules/database/classes/driver/pdo/query.php
@@ -61,7 +61,7 @@ class Query_PDO_Driver extends Query_Database {
return $field->value.' ';
$field = explode('.', $field);
if (count($field) == 1)
- array_unshift($field,$this->lastAlias());
+ array_unshift($field,$this->last_alias());
$str = $this->quote($field[0]).'.';
if (trim($field[1]) == '*')
return $str.'* ';
@@ -136,7 +136,7 @@ class Query_PDO_Driver extends Query_Database {
$query.= "SELECT COUNT(*) as {$this->quote('count')} FROM {$this->quote($this->_table)} ";
}
if($this->_type=='delete')
- $query.= "DELETE FROM {$this->quote($this->_table)} ";
+ $query.= "DELETE {$this->last_alias()}.* FROM {$this->quote($this->_table)} ";
if($this->_type=='update'){
$query.= "UPDATE {$this->quote($this->_table)} SET ";
$first = true;