DBInstance.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace ORM;
  3. class DBInstance {
  4. private static function addPrefix($sql, $instance = 'default'){
  5. $con = Connections::getConnection($instance);
  6. $sql = preg_replace('/{(.*)}/', "$con->prefix$1", $sql);
  7. $sql = preg_replace( "/\r|\n/", "", $sql );
  8. return $sql;
  9. }
  10. public static function execute($sql, $data = null, $instance = 'default') {
  11. $sql = self::addPrefix($sql, $instance);
  12. if ($data) {
  13. self::queryPrepare($sql, $data, $instance);
  14. } else {
  15. $con = Connections::getConnection($instance);
  16. $con->exec($sql);
  17. }
  18. }
  19. public static function lastInsert($instance = 'default') {
  20. $con = Connections::getConnection($instance);
  21. return $con->lastInsertId();
  22. }
  23. public static function query($sql, $data = null, $instance = 'default') {
  24. $sql = self::addPrefix($sql, $instance);
  25. if ($data) {
  26. return self::queryPrepare($sql, $data, $instance);
  27. } else {
  28. $con = Connections::getConnection($instance);
  29. return $con->query($sql, \PDO::FETCH_OBJ);
  30. }
  31. }
  32. public static function queryOne($sql, $data = null, $instance = 'default') {
  33. $sql = self::addPrefix($sql, $instance);
  34. if ($data) {
  35. return self::queryPrepare($sql, $data, $instance);
  36. } else {
  37. $con = Connections::getConnection($instance);
  38. return $con->query($sql, \PDO::FETCH_OBJ)->fetch();
  39. }
  40. }
  41. public static function queryPrepare($sql, $data = Array(), $instance = 'default') {
  42. $sql = self::addPrefix($sql, $instance);
  43. $con = Connections::getConnection($instance);
  44. $statement = $con->prepare($sql);
  45. $statement->execute($data);
  46. return $statement->fetchAll(\PDO::FETCH_OBJ);
  47. }
  48. }