Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- config.php
- define("DB_HOST", "localhost");
- define("DB_USER", "USER");
- define("DB_PASS", "PASSWORD");
- define("DB_NAME", "DBNAME");
- */
- class Database {
- private $host = DB_HOST;
- private $user = DB_USER;
- private $pass = DB_PASS;
- private $dbname = DB_NAME;
- private $db;
- private $error;
- private $stmt;
- public function __construct() {
- $dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname . ';charset=utf8';
- $options = array(
- PDO::ATTR_PERSISTENT => true,
- PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
- PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
- PDO::ATTR_EMULATE_PREPARES => false
- );
- try {
- $this->db = new PDO($dsn, $this->user, $this->pass, $options);
- } catch (PDOException $e) {
- $this->error = $e->getMessage();
- }
- }
- public function query($query) {
- $this->stmt = $this->db->prepare($query);
- }
- public function bind($param, $value, $type = null) {
- if (is_null($type)) {
- switch (true) {
- case is_int($value):
- $type = PDO::PARAM_INT;
- break;
- case is_bool($value):
- $type = PDO::PARAM_BOOL;
- break;
- case is_null($value):
- $type = PDO::PARAM_NULL;
- break;
- default:
- $type = PDO::PARAM_STR;
- }
- }
- $this->stmt->bindValue($param, $value, $type);
- }
- public function execute() {
- return $this->stmt->execute();
- }
- public function resultset() {
- $this->execute();
- return $this->stmt->fetchAll(PDO::FETCH_OBJ);
- }
- public function resultsetA() {
- $this->execute();
- return $this->stmt->fetchAll(PDO::FETCH_ASSOC);
- }
- public function column($number) {
- $this->execute();
- return $this->stmt->fetchColumn($number);
- }
- public function single() {
- $this->execute();
- return $this->stmt->fetch(PDO::FETCH_OBJ);
- }
- public function rowCount() {
- return $this->stmt->rowCount();
- }
- public function lastInsertId() {
- return $this->db->lastInsertId();
- }
- public function beginTransaction() {
- return $this->db->beginTransaction();
- }
- public function endTransaction() {
- return $this->db->commit();
- }
- public function cancelTransaction() {
- return $this->db->rollBack();
- }
- public function debugDumpParams() {
- return $this->stmt->debugDumpParams();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement