Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once('app/config.php'); // Require constants HOST, DATABASE, USER, PASSWORD
- /*
- dbConnection class.
- Manages connections to and operations on the database. Call dbConnection::getInstance() to return an instance.
- Prepare your statements by calling prepareQuery() on the object
- Attribute list:
- $instance:
- > Static self instance to manage database resource
- $connection:
- > Holds connection resource
- $sth:
- > Statement handler variable. Handles SQL statements.
- _______________________________________________________________________________________________________________
- Method list:
- getInstance():
- > Creates or returns existing connection to the database
- prepareQuery():
- > Prepares the $sth variable for execution.
- bindParameter():
- > Binds parameters to the $sth variable.
- numRows($query):
- > Returns the number of returned from a query
- runQuery():
- > Executes the current statement on the database
- fetchRow():
- > Executes the current statement then returns an associative array
- fetchObj($className, $parameters = NULL):
- > Executes the current statement and returns an object of your specification. Also takes additional parameters to pass to the object's constructor.
- */
- class dbConnection
- {
- private static $instance = NULL;
- private $connection;
- private $sth;
- function __construct()
- {
- $this->connection = new PDO('mysql:host=' . HOST . ';dbname=' . DATABASE, USER, PASSWORD);
- }
- function getInstance()
- {
- if (self::$instance == NULL)
- self::$instance = new dbConnection();
- return self::$instance;
- }
- function prepareQuery($query)
- {
- $this->sth = $this->connection->prepare($query);
- }
- function bindParameter($number, $value)
- {
- $this->sth->bindParam($number, $value);
- }
- function numRows()
- {
- try
- {
- $this->sth->execute();
- $count = $this->sth->rowCount();
- return $count;
- }
- catch(PDOException $e)
- {
- echo __LINE__.$e->getMessage();
- }
- }
- function runQuery()
- {
- try
- {
- $this->sth->execute() or print_r($connection->errorInfo());
- }
- catch(PDOException $e)
- {
- echo __LINE__.$e->getMessage();
- }
- }
- function fetchRow()
- {
- try
- {
- $this->sth->setFetchMode(PDO::FETCH_ASSOC);
- $this->sth->execute();
- return $this->sth;
- }
- catch(PDOException $e)
- {
- echo __LINE__.$e->getMessage();
- }
- }
- function fetchObj($className, $parameters = NULL)
- {
- try
- {
- $this->sth->setFetchMode(PDO::FETCH_CLASS, $className, $parameters);
- $this->sth->execute();
- return $this->sth;
- }
- catch(PDOException $e)
- {
- echo __LINE__.$e->getMessage();
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement