Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class DatabaseController
- {
- private $abstraction;
- public $error = false;
- public $error_message;
- public function __construct($host=null, $name=null, $username=null, $password=null)
- {
- if (empty($host) || empty($name) || empty($username))
- {
- $this->error = true;
- return false;
- }
- try
- {
- // We may decide to put this all on one line later, but it gets a little hard to read that way.
- $this->abstraction = new PDO(
- 'mysql:host=' . $host . ';dbname=' . $name,
- $username,
- $password
- );
- }
- catch (Exception $e)
- {
- $this->error = true;
- $this->error_message = $e;
- }
- }
- public function get_all($sql=null, $parameters=null)
- {
- if (empty($sql) || $this->error)
- return false;
- $statement = $this->abstraction->prepare($sql);
- if (!$statement)
- return false;
- if (is_array($parameters))
- {
- foreach ($parameters as $identifier => $info)
- {
- switch ($info[1])
- {
- case 'int':
- $binder = PDO::PARAM_INT;
- break;
- case 'string':
- $binder = PDO::PARAM_STR;
- break;
- default:
- $binder = PDO::PARAM_STR;
- break;
- }
- $statement->bindParam($identifier, $info[0], $binder);
- }
- }
- $statement->execute();
- $data = $statement->fetchAll();
- $statement->closeCursor();
- return $data ? $data : false;
- }
- public function get_one($sql=null, $parameters=null)
- {
- if (empty($sql) || $this->error)
- return false;
- $statement = $this->abstraction->prepare($sql);
- if (!$statement)
- return false;
- if (is_array($parameters))
- {
- foreach ($parameters as $identifier => $info)
- {
- switch ($info[1])
- {
- case 'int':
- $binder = PDO::PARAM_INT;
- break;
- case 'string':
- $binder = PDO::PARAM_STR;
- break;
- default:
- $binder = PDO::PARAM_STR;
- break;
- }
- $statement->bindParam($identifier, $info[0], $binder);
- }
- }
- $statement->execute();
- $data = $statement->fetch(PDO::FETCH_ASSOC);
- $statement->closeCursor();
- return $data ? $data : false;
- }
- public function query($sql=null, $parameters=null, $strict=true, $is_msg=false)
- {
- if (empty($sql) || $this->error)
- return false;
- $statement = $this->abstraction->prepare($sql);
- if (!$statement)
- return false;
- if (is_array($parameters))
- {
- if ($is_msg == true)
- require_once('parse_bbc.php');
- foreach ($parameters as $identifier => $info)
- {
- $val = $info[0];
- switch ($info[1])
- {
- case 'int':
- $binder = PDO::PARAM_INT;
- break;
- case 'string':
- $binder = PDO::PARAM_STR;
- if ($strict)
- $val = htmlspecialchars(trim($val));
- break;
- default:
- $binder = PDO::PARAM_STR;
- if ($strict)
- $val = htmlspecialchars(trim($val));
- break;
- }
- if ($is_msg == true)
- $val = new parse_bbc($val);
- $statement->bindParam($identifier, $val, $binder);
- unset ($val);
- }
- }
- $statement->execute();
- $statement->closeCursor();
- return true;;
- }
- }
Add Comment
Please, Sign In to add comment