Advertisement
Googleinurl

SqlTratamento PDO PHP

Apr 12th, 2013
376
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.35 KB | None | 0 0
  1. <?php
  2.  
  3. class Executaq {
  4.  
  5.     public $dados = array();
  6.     public $where = array();
  7.     public $tabela = null;
  8.     public $sql = null;
  9.     private $db;
  10.  
  11.     public function __construct($db) {
  12.         $this->db = $db;
  13.         require_once 'Dados.class.php';
  14.     }
  15.  
  16.     public function insert(array $dados, $tabela) {
  17.         if (IsSet($this->dados) && $this->tabela) {
  18.             try {
  19.  
  20.                 $objDados = new Dados($this->db);
  21.                 $this->campos = implode(',', array_keys($this->dados));
  22.                 $this->valores = ":" . implode(",:", array_keys($this->dados));
  23.                 $this->insert = $objDados->connect()->prepare("INSERT INTO {$this->tabela} ({$this->campos}) values ({$this->valores})");
  24.                 foreach ($this->dados as $this->campo => $this->valor) {
  25.                     $this->insert->bindParam(":{$this->campo}", $this->dados[$this->campo], PDO::PARAM_STR);
  26.                 }
  27.                 $this->insert->execute($this->dados);
  28.                 $objDados->disconnect();
  29.             } catch (PDOException $e) {
  30.                 echo $e->getMessage();
  31.             }
  32.         }
  33.     }
  34.  
  35.     public function update(&$sql, array $dados) {
  36.         if (IsSet($this->dados)) {
  37.             try {
  38.                 $objDados = new Dados($this->db);
  39.                 $this->update = $objDados->connect()->prepare($this->sql);
  40.                 foreach ($this->dados as $this->campo => $this->valor) {
  41.                     $this->update->bindParam(":{$this->campo}", $this->dados[$this->campo], PDO::PARAM_STR);
  42.                 }
  43.                 $this->update->execute($this->dados);
  44.                 $objDados->disconnect();
  45.             } catch (PDOException $e) {
  46.                 echo $e->getMessage();
  47.             }
  48.         }
  49.     }
  50.  
  51.     public function select(&$sql, array $dados = null) {
  52.  
  53.         try {
  54.             if (IsSet($this->dados) && IsSet($this->sql)) {
  55.                 $objDados = new Dados($this->db);
  56.                 $this->select = $objDados->connect()->prepare($this->sql);
  57.                 foreach ($this->dados as $this->campo => $this->valor) {
  58.                     $this->select->bindParam(":{$this->campo}", $this->dados[$this->campo], PDO::PARAM_STR);
  59.                 }
  60.  
  61.                 $this->select->execute($this->dados);
  62.                 $this->dados = array();
  63.             } else {
  64.  
  65.                 $this->select = $objDados->connect()->query($this->sql);
  66.                 $this->dados = array();
  67.             }
  68.             $objDados->disconnect();
  69.             return $res = ($this->select->rowCount()) ? $this->select->fetchAll(PDO::FETCH_ASSOC) : array();
  70.         } catch (PDOException $e) {
  71.             echo $e->getMessage();
  72.         }
  73.     }
  74.  
  75.     public function delete($sql, array $dados) {
  76.         if (IsSet($this->dados)) {
  77.             try {
  78.                 $objDados = new Dados($this->db);
  79.                 $this->update = $objDados->connect()->prepare($this->sql);
  80.                 foreach ($this->dados as $this->campo => $this->valor) {
  81.                     $this->update->bindParam(":{$this->campo}", $this->dados[$this->campo], PDO::PARAM_STR);
  82.                 }
  83.                 $this->update->execute($this->dados);
  84.                 $objDados->disconnect();
  85.             } catch (PDOException $e) {
  86.                 echo $e->getMessage();
  87.             }
  88.         }
  89.     }
  90.  
  91. }
  92. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement