Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Database {
- private $connection;
- private $executedQuerys = [];
- public function __construct(\mysqli $connection) {
- $this->connection = $connection;
- }
- public function query($query, $params = [], $callback = null) {
- $query = $this->getConvertedQueryString($query, $params);
- if($callback == null || $callback() == true) {
- $return = $this->connection->query($query) or die($this->connection->error);
- } else {
- return null;
- }
- $this->executedQuerys[] = [
- 'query' => $query,
- 'data' => $return
- ];
- return $return;
- }
- public function multiQuery($querys = []) {
- $result = [];
- foreach($querys as $query) {
- $qry = $query['query'];
- $params = isset($query['params']) ? $query['params'] : [];
- $callback = isset($query['callback']) ? $query['callback'] : null;
- $result[] = $this->query($qry, $params, $callback);
- }
- return $result;
- }
- private function getConvertedQueryString($query, $params = []) {
- $toFind = [];
- $toReplace = [];
- foreach($params as $key => $value) {
- $toFind[] = ':'.$key;
- $toReplace[] = "'".$this->connection->real_escape_string($value)."'";
- }
- $query = str_replace($toFind, $toReplace, $query);
- return $query;
- }
- public function getExecutedQuerys() {
- return $this->executedQuerys;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement