Guest User

Untitled

a guest
Aug 29th, 2014
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. function query(/* $sql [, ... ] */)
  2.  
  3. {
  4.  
  5. // SQL statement
  6.  
  7. $sql = func_get_arg(0);
  8.  
  9.  
  10.  
  11. // parameters, if any
  12.  
  13. $parameters = array_slice(func_get_args(), 1);
  14.  
  15.  
  16.  
  17. // try to connect to database
  18.  
  19. static $handle;
  20.  
  21. if (!isset($handle))
  22.  
  23. {
  24.  
  25. try
  26.  
  27. {
  28.  
  29. // connect to database
  30.  
  31. $handle = new PDO("mysql:dbname=" . DATABASE . ";host=" . SERVER . ";charset=utf8", USERNAME, PASSWORD);
  32.  
  33.  
  34.  
  35. // ensure that PDO::prepare returns false when passed invalid SQL
  36.  
  37. $handle->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
  38.  
  39. }
  40.  
  41. catch (Exception $e)
  42.  
  43. {
  44.  
  45. // trigger (big, orange) error
  46.  
  47. trigger_error($e->getMessage(), E_USER_ERROR);
  48.  
  49. exit;
  50.  
  51. }
  52.  
  53. }
  54.  
  55.  
  56.  
  57. // prepare SQL statement
  58.  
  59. $statement = $handle->prepare($sql);
  60.  
  61. if ($statement === false)
  62.  
  63. {
  64.  
  65. // trigger (big, orange) error
  66.  
  67. trigger_error($handle->errorInfo()[2], E_USER_ERROR);
  68.  
  69. exit;
  70.  
  71. }
  72.  
  73.  
  74.  
  75. // execute SQL statement
  76.  
  77. $results = $statement->execute($parameters);
  78.  
  79.  
  80.  
  81. // return result set's rows, if any
  82.  
  83. if ($results !== false)
  84.  
  85. {
  86.  
  87. return $statement->fetchAll(PDO::FETCH_ASSOC);
  88.  
  89. }
  90.  
  91. else
  92.  
  93. {
  94.  
  95. return false;
  96.  
  97. }
  98.  
  99. }
Advertisement
Add Comment
Please, Sign In to add comment