Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class DB {
- protected $db_name = 'dbName';
- protected $db_user = 'webApp';
- private $db_pass = 'dbPass';
- protected $db_host = 'localhost';
- private $PDO = 0;
- //connect to db
- public function __construct()
- {
- try
- {
- $PDO = new PDO( 'mysql:host='.$this->db_host.';dbname='.$this->db_name, $this->db_user, $this->db_pass);
- $this->PDO = $PDO;
- }
- catch (PDOException $e)
- {
- return "Error!: " . $e->getMessage() . "<br/>";
- $this->PDO = 0;
- die();
- }
- }
- //simple query - query is a query string, params is 1-dimension an array of parameters
- //used as prepared statements, so amount and order of members in params must match the placeholders in the query
- public function querySimple ($query, $params)
- {
- try
- {
- if ($this->PDO !== 0 && is_array($params))
- {
- $this->PDO->beginTransaction();
- $stmt = $this->PDO->prepare($query);
- $stmt->execute($params);
- $result = $stmt->fetchAll();
- $this->PDO->commit();
- return $result;
- }
- else
- {
- $this->PDO->rollBack();
- return "Error: <br /> Query =".$query.", $params is array = ".is_array($params);
- die();
- }
- }
- catch (Throwable $e)
- {
- $this->PDO->rollBack();
- return "Error!: " . $e->getMessage() . "<br/>";
- die();
- }
- }
- //batch query - when you need to update multiple valueswith different criterias, use this one
- //don't use for selects - it won't return any records
- //here $params will be two-dimensional - array that contains arrays of values
- public function queryBatch ($query, $params)
- {
- try
- {
- if ($this->PDO !== 0 && is_array($params))
- {
- $this->PDO->beginTransaction();
- $stmt = $this->PDO->prepare($query);
- foreach ($params as $paramArray)
- {
- if (is_array($paramArray))
- {
- foreach ($paramArray as $key=>$param)
- $stmt->bindValue(($key+1),$param);
- $stmt->execute();
- }
- else
- {
- $this->PDO->rollBack();
- print "<pre>Error in one of the subarrays:<br />$params is array = ".is_array($params).'<br>';
- var_dump($param);
- print '</pre>';
- die();
- }
- }
- $this->PDO->commit();
- return 'ok';
- }
- else
- {
- $this->PDO->rollBack();
- return "Error: <br /> Query =".$query.", $params is array = ".is_array($params);
- die();
- }
- }
- catch (Throwable $e)
- {
- $this->PDO->rollBack();
- return "Error!: " . $e->getMessage() . "<br/>";
- die();
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement