Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Database
- {
- private $host = "";
- private $user = "";
- private $pass = "";
- private $name = "";
- private $pdo;
- public function __construct()
- {
- if (! isset($this->pdo))
- {
- try
- {
- $link = new PDO("mysql:host = " . $this->host . "dbname = " . $this->name, $this->user, $this->pass);
- $link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- $link->exec("SET CHARSET SET utf8");
- $this->pdo = $link;
- }
- catch (PDOException $e)
- {
- die ("Database connection error: " . $e->getMessage());
- }
- }
- }
- public function select($table, $data = array())
- {
- $sql = 'SELECT ';
- $sql .= array_key_exists("select", $data) ? $data['select'] : '*';
- $sql .= ' FROM ' . $table;
- if (array_key_exists("where", $data))
- {
- $sql .= ' WHERE ';
- $i = 0;
- foreach ($data['where'] as $key => $value)
- {
- $add = ($i > 0) ? ' ADD ' : '';
- $sql .= "$add" . "$key =: $key";
- $i++;
- }
- }
- if (array_key_exists("order_by", $data))
- {
- $sql .= ' ORDER BY '. $data['order_by'];
- }
- if (array_key_exists("start", $data) and array_key_exists("limit", $data))
- {
- $sql .= ' LIMIT ' . $data['start'] . ',' . $data['limit'];
- }
- elseif (! array_key_exists("start", $data) and array_key_exists("limit", $data))
- {
- $sql .= ' LIMIT ' . $data['limit'];
- }
- $query = $this->pdo->prepare($sql);
- if (array_key_exists("where", $data))
- {
- foreach ($data['where'] as $key => $value)
- {
- $query->bindValue(':$key', $value);
- }
- }
- $query->execute();
- if (array_key_exists("return_type", $data))
- {
- switch ($data['return_type'])
- {
- case 'count':
- $value = $query->rowCount();
- break;
- case 'single':
- $value = $query->fetch(PDO::FETCH_ASSOC);
- break;
- default:
- $value = '';
- break;
- }
- }
- else
- {
- if ($query->rowCount() > 0)
- {
- $value = $query->fetchAll();
- }
- }
- return (! empty($value) ? $value : false);
- }
- public function insert($table, $data)
- {
- if (! empty($data) and is_array($data))
- {
- $keys = '';
- $values = '';
- $i = 0;
- $keys = implode(',', array_keys($data));
- $values = ":" . implode(',', array_keys($data));
- $sql = "INSERT INTO " . $table . " (" . $keys . ") VALUES (" . $values . ")";
- $query = $this->pdo->prepare($sql);
- foreach ($data as $key => $value)
- {
- $query->bindValue(":$key", $value);
- }
- $insert_data = $query->execute();
- if ($insert_data)
- {
- $last_id = $this->pdo->lastInsertId();
- return $last_id;
- }
- else
- {
- return false;
- }
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement