diff options
author | Dracony <draconyster@gmail.com> | 2013-01-11 14:15:52 +0200 |
---|---|---|
committer | Dracony <draconyster@gmail.com> | 2013-01-11 14:15:52 +0200 |
commit | a95be9baa4e7cc327d8e0508ac95af884f00315d (patch) | |
tree | 93a9c5752932496a7ae5ac0d26e9b21d3f25890b /modules/database/classes/driver | |
parent | 168fd425c75841dd059b061b9f58ce8eef7d01d0 (diff) | |
download | PHPixie-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.php | 6 | ||||
-rw-r--r-- | modules/database/classes/driver/pdo/query.php | 4 |
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;
|