pdo = new \PDO($connection_string, $user, $password); $this->pdo->setAttribute(\PDO::ATTR_DEFAULT_FETCH_MODE, \PDO::FETCH_OBJ); $this->pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); } /** * @return \PDO Connection to database */ function getPDO() { return $this->pdo; } /** * Find all tables in database. * * @return array|false The array of table names */ public function allTables() { $driver = $this->pdo->getAttribute(\PDO::ATTR_DRIVER_NAME); switch ($driver) { case 'mysql': $result = $this->pdo->query('SHOW TABLES'); $schemas = $result->fetchAll(\PDO::FETCH_COLUMN); break; case 'pgsql': $result = $this->pdo->query( "SELECT table_name FROM information_schema.tables WHERE table_schema='public'" ); $schemas = $result->fetchAll(\PDO::FETCH_COLUMN); break; default: return false; } return $schemas; } function prepare($sql) { return $this->pdo->prepare($sql); } function beginTransaction() { $this->pdo->beginTransaction(); } function commit() { $this->pdo->commit(); } function rollback() { $this->pdo->rollback(); } function errorCode() { return $this->pdo->errorCode(); } function errorInfo() { return $this->pdo->errorInfo(); } function query($sql) { return $this->pdo->query($sql); } public function lastInsertId() { return $this->pdo->lastInsertId(); } }