Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Core\Database;
- use \PDO;
- class MsAcessDatabase extends Database{
- private $db_dbq;
- private $db_user;
- private $db_pass;
- private $db_driver;
- private $pdo;
- /**
- * @param $db_dbq
- * @param string $db_user
- * @param string $db_pass
- * @param string $db_driver
- */
- public function __construct($db_dbq, $db_user = '', $db_pass = '',$db_driver="{Microsoft Access Driver (*.mdb, *.accdb)}"){
- $this->db_dbq = $db_dbq;
- $this->db_user = $db_user;
- $this->db_pass = $db_pass;
- $this->db_driver = $db_driver;
- }
- /**
- * @return PDO
- */
- private function getPDO(){
- if($this->pdo === null){
- try{
- $pdo = new PDO("odbc:Driver={$this->db_driver}; Dbq=$this->db_dbq; charset=UTF-8; Uid=' . $this->db_user . '; Pwd=' . $this->db_pass . ';'");
- $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- }catch (\PDOException $e){
- var_dump($e);
- die();
- }
- $this->pdo = $pdo;
- }
- return $this->pdo;
- }
- /**
- * @param $statement
- * @param null $class_name
- * @param bool $one
- * @return array|mixed|\PDOStatement
- */
- public function query($statement, $class_name = null, $one = false){
- try{
- $req = $this->getPDO()->query($statement);
- }catch (\PDOException $e){
- var_dump($e);
- die();
- }
- if(
- strpos($statement, 'UPDATE') === 0 ||
- strpos($statement, 'INSERT') === 0 ||
- strpos($statement, 'DELETE') === 0
- ) {
- return $req;
- }
- if($class_name === null){
- $req->setFetchMode(PDO::FETCH_OBJ);
- } else {
- $req->setFetchMode(PDO::FETCH_CLASS, $class_name);
- }
- if($one) {
- $datas = $req->fetch();
- } else {
- $datas = $req->fetchAll();
- }
- return $datas;
- }
- /**
- * @param $statement
- * @param $attributes
- * @param null $class_name
- * @param bool $one
- * @return array|bool|mixed
- */
- public function prepare($statement, $attributes, $class_name = null, $one = false){
- try{
- $req = $this->getPDO()->prepare($statement);
- $res = $req->execute($attributes);
- }catch (\PDOException $e){
- var_dump($e);
- die();
- }
- if(
- strpos($statement, 'UPDATE') === 0 ||
- strpos($statement, 'INSERT') === 0 ||
- strpos($statement, 'DELETE') === 0
- ) {
- return $res;
- }
- if($class_name === null){
- $req->setFetchMode(PDO::FETCH_OBJ);
- } else {
- $req->setFetchMode(PDO::FETCH_CLASS, $class_name);
- }
- if($one) {
- $datas = $req->fetch();
- } else {
- $datas = $req->fetchAll();
- }
- return $datas;
- }
- /**
- * @return string
- */
- public function lastInsertId(){
- return $this->getPDO()->lastInsertId();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement