Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. <?php
  2.  
  3. class DB {
  4.  
  5. protected $db_name = 'dbName';
  6. protected $db_user = 'webApp';
  7. private $db_pass = 'dbPass';
  8. protected $db_host = 'localhost';
  9. private $PDO = 0;
  10.  
  11. //connect to db
  12. public function __construct()
  13. {
  14. try
  15. {
  16. $PDO = new PDO( 'mysql:host='.$this->db_host.';dbname='.$this->db_name, $this->db_user, $this->db_pass);
  17. $this->PDO = $PDO;
  18. }
  19. catch (PDOException $e)
  20. {
  21. return "Error!: " . $e->getMessage() . "<br/>";
  22. $this->PDO = 0;
  23. die();
  24. }
  25. }
  26.  
  27. //simple query - query is a query string, params is 1-dimension an array of parameters
  28. //used as prepared statements, so amount and order of members in params must match the placeholders in the query
  29. public function querySimple ($query, $params)
  30. {
  31. try
  32. {
  33. if ($this->PDO !== 0 && is_array($params))
  34. {
  35. $this->PDO->beginTransaction();
  36. $stmt = $this->PDO->prepare($query);
  37.  
  38. $stmt->execute($params);
  39. $result = $stmt->fetchAll();
  40. $this->PDO->commit();
  41. return $result;
  42. }
  43. else
  44. {
  45. $this->PDO->rollBack();
  46. return "Error: <br /> Query =".$query.", $params is array = ".is_array($params);
  47. die();
  48. }
  49.  
  50. }
  51. catch (Throwable $e)
  52. {
  53. $this->PDO->rollBack();
  54. return "Error!: " . $e->getMessage() . "<br/>";
  55. die();
  56. }
  57. }
  58.  
  59. //batch query - when you need to update multiple valueswith different criterias, use this one
  60. //don't use for selects - it won't return any records
  61. //here $params will be two-dimensional - array that contains arrays of values
  62. public function queryBatch ($query, $params)
  63. {
  64. try
  65. {
  66. if ($this->PDO !== 0 && is_array($params))
  67. {
  68. $this->PDO->beginTransaction();
  69. $stmt = $this->PDO->prepare($query);
  70. foreach ($params as $paramArray)
  71. {
  72. if (is_array($paramArray))
  73. {
  74. foreach ($paramArray as $key=>$param)
  75. $stmt->bindValue(($key+1),$param);
  76.  
  77. $stmt->execute();
  78. }
  79. else
  80. {
  81. $this->PDO->rollBack();
  82. print "<pre>Error in one of the subarrays:<br />$params is array = ".is_array($params).'<br>';
  83. var_dump($param);
  84. print '</pre>';
  85. die();
  86. }
  87. }
  88. $this->PDO->commit();
  89. return 'ok';
  90. }
  91. else
  92. {
  93. $this->PDO->rollBack();
  94. return "Error: <br /> Query =".$query.", $params is array = ".is_array($params);
  95. die();
  96. }
  97. }
  98.  
  99. catch (Throwable $e)
  100. {
  101. $this->PDO->rollBack();
  102. return "Error!: " . $e->getMessage() . "<br/>";
  103. die();
  104. }
  105. }
  106.  
  107.  
  108.  
  109.  
  110. }
  111.  
  112. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement