3
require_once 'Gecka/Database/Abstract.php';
5
class Gecka_Database_Pdo extends Gecka_Database_Abstract {
9
public function connect() {
11
if($this->_isConnected) return $this;
16
$this->pdo = new PDO( $this->_type . ':host=' . $this->_host . ';dbname=' . $this->_database . '', $this->_user, $this->_password);
19
catch (PDOException $e) {
21
throw new Gecka_Database_Exception('Error connecting: ' . $e->getMessage(), $e->getCode() );
25
$this->_isConnected = true;
31
public function query($query) {
35
return $this->_pdo->query($query);
39
public function exec($query) {
43
return $this->_pdo->exec($query);
47
public function beginTransaction() {
51
return $this->_pdo->beginTransaction();
55
public function commit() {
59
return $this->_pdo->beginTransaction();
63
public function rollback() {
67
return $this->_pdo->rollback();
71
public function insert($table, $data) {
73
$query = $this->buildQuery('INSERT', $table, $data);
75
return $this->exec($query);
79
public function update($table, $data, $condition) {
81
$query = $this->buildQuery('UPDATE', $table, $data, $condition);
83
return $this->exec($query);
87
public function replace($table, $data, $condition) {
89
$query = $this->buildQuery('REPLACE', $table, $data, $condition);
91
return $this->exec($query);
95
public function delete($table, $condition) {
97
$query = $this->buildQuery('DELETE', $table, null, $condition);
99
return $this->exec($query);
103
public function quote($string) {
105
return $this->_pdo->quote($string);
b'\\ No newline at end of file'