Advertisement
Willkf25

database.class.php

Aug 15th, 2018
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.73 KB | None | 0 0
  1. <?php
  2.  
  3. Class Database{
  4.     //PARA USO VEJA O EXAMPLE.PHP NA MINHA HOME DO PASTEBIN
  5.     private $server;
  6.     private $user;
  7.     private $pass;  
  8.     private $database;
  9.     public $pdoError;
  10.     private static $conn;
  11.  
  12.     /*
  13.     * @access: public
  14.     * @author: Willian Knippelberg Francisco
  15.     * @param:   string $server : endereço do servidor;
  16.                 string $user : usuario do servidor com acesso ao banco;
  17.                 string $pass: senha do usuario;
  18.                 string $database: nome da base de dados;
  19.     * @example: $conn = new Database('localhost','root','myPassword','myDatabase');
  20.     */
  21.    
  22.     public function __construct($server, $user, $pass, $database){
  23.         $this->server = $server;
  24.         $this->user = $user;
  25.         $this->pass = $pass;
  26.         $this->database = $database;
  27.     }
  28.  
  29.     //FUNÇÃO QUE CONECTA NO BANCO
  30.     public function PDOConn(){
  31.         try{
  32.             if(is_null(self::$conn))
  33.                 self::$conn = new PDO('mysql:host='.$this->server.';dbname='.$this->database.'',''.$this->user.'',''.$this->pass);
  34.         }catch (Exception $e){
  35.             exit("Erro de conexão com banco de dados: ".$e->getMessage());
  36.         }
  37.         return self::$conn;
  38.     }
  39.  
  40.     /*
  41.     * @access: public
  42.     * @author: Willian Knippelberg Francisco
  43.     * @param: $sql : string contendo sua query sql;
  44.     * @return : PDO::EXECUTE -> retorna a execução da sua query (retorno semelhante ao mysql_query)
  45.     * @example: $exec = $conn->pdo_query("SELECT * FROM TABLE");
  46.     * em caso de erro a variavel pdoError será preenchida e você podera ler
  47.     */
  48.     public function pdo_query($sql){
  49.         // zera o erro
  50.         $this->pdoError = '';  
  51.         $exec = $this->PDOConn()->prepare($sql);        
  52.         if($exec->execute() === false){
  53.             $arr = $exec->errorInfo(); // tratamento do erro - simplificado
  54.             $this->pdoError = "Erro ".$arr[0]." - N° ".$arr[1]. ': '.$arr[2];
  55.             return false;
  56.         }else{
  57.             return $exec;
  58.         }
  59.     }
  60.  
  61.     /*
  62.     * @access: public
  63.     * @author: Willian Knippelberg Francisco
  64.     * @param: PDO::EXECUTE : Retorno do metodo pdo_query($sql)
  65.     * @return : int -> retorna a quantidade de linhas da execução
  66.     * @example: $exec = $conn->pdo_query("SELECT * FROM TABLE");
  67.     *           $total = $conn->pdo_num_rows($exec);   
  68.     */
  69.     public function pdo_num_rows($exec){
  70.         return $exec->rowCount();
  71.     }
  72.  
  73.     /*
  74.     * @access: public
  75.     * @author: Willian Knippelberg Francisco
  76.     * @param: PDO::EXECUTE : Retorno do metodo pdo_query($sql)
  77.     * @return : PDO::FETCH_OBJ -> retorna um objeto contendo o resultado da sua busca
  78.     * @example: $exec = $conn->pdo_query("SELECT * FROM TABLE");
  79.     *           while ($list = $conn->pdo_fetch_object($exec)){
  80.     *               echo $list->collum_name;
  81.     *           }  
  82.     */
  83.  
  84.     public function pdo_fetch_object($exec){
  85.         return $exec->fetchObject();
  86.     }
  87.  
  88. } //FIM DA CLASSE
  89.  
  90. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement