lucas cardoso
2 years ago
1 changed files with 81 additions and 0 deletions
@ -0,0 +1,81 @@
|
||||
<?php |
||||
|
||||
namespace app\Core; |
||||
|
||||
use app\Core\Connect; |
||||
use PDO; |
||||
use PDOException; |
||||
|
||||
/** |
||||
* Description of WppModel |
||||
* |
||||
* @author Lucas Awade |
||||
*/ |
||||
class DataBase |
||||
{ |
||||
|
||||
protected function strquery($stmt, $params) |
||||
{ |
||||
foreach ($params as $key => $value) { |
||||
if (is_null($value) || (is_string($value) && $value == '')) { |
||||
$value = null; |
||||
} |
||||
$stmt->bindValue(":{$key}", $value, (is_int($value) ? PDO::PARAM_INT : PDO::PARAM_STR)); |
||||
} |
||||
} |
||||
|
||||
public function begin() |
||||
{ |
||||
|
||||
Connect::getInstance()->beginTransaction(); |
||||
return 1; |
||||
} |
||||
|
||||
public function commit() |
||||
{ |
||||
|
||||
Connect::getInstance()->commit(); |
||||
return 1; |
||||
} |
||||
|
||||
public function rollback() |
||||
{ |
||||
|
||||
Connect::getInstance()->rollBack(); |
||||
return 1; |
||||
} |
||||
|
||||
function create($query, $data) |
||||
{ |
||||
$stmt = Connect::getInstance()->prepare($query); |
||||
$this->strquery($stmt, $data); |
||||
$stmt->execute(); |
||||
return Connect::getInstance()->lastInsertId(); |
||||
} |
||||
|
||||
function read($query, $data = null) |
||||
{ |
||||
$stmt = Connect::getInstance()->prepare($query); |
||||
$this->strquery($stmt, $data); |
||||
$stmt->execute(); |
||||
return $stmt; |
||||
} |
||||
|
||||
function delete($query, $data) |
||||
{ |
||||
|
||||
$stmt = Connect::getInstance()->prepare($query); |
||||
$this->strquery($stmt, $data); |
||||
$stmt->execute(); |
||||
return ($stmt->rowCount() ? 1 : 0); |
||||
} |
||||
|
||||
function update($query, $data) |
||||
{ |
||||
|
||||
$stmt = Connect::getInstance()->prepare($query); |
||||
$this->strquery($stmt, $data); |
||||
$stmt->execute(); |
||||
return ($stmt->rowCount() ? 1 : 0); |
||||
} |
||||
} |
Loading…
Reference in new issue