Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Core_Db_Mysql
- {
- private $queries = array();
- private $link = null;
- public function connect($settings)
- {
- $this->link = new mysqli($settings['server'], $settings['username'], $settings['password'], $settings['database']);
- if($this->link->connect_error) {
- return false;
- }
- return true;
- }
- public function query($query)
- {
- $this->queries[] = $query;
- return @$this->link->query($query);
- }
- public function quote($string)
- {
- return $this->link->real_escape_string($string);
- }
- public function insert_query($table, $values)
- {
- $fields = implode('`,`', array_keys($values));
- $values = implode("','", array_map(array($this, 'quote'), $values));
- $query = "INSERT INTO ".$table." (`".$fields."`) VALUES ('".$values."')";
- if($this->query($query)) {
- return $this->insert_id();
- }
- else {
- return false;
- }
- }
- public function replace_query($table, $values)
- {
- $fields = array();
- foreach($values as $k => $v) {
- $fields[] = "`".$k."`='".$this->quote($v)."'";
- }
- $query = "UPDATE ".$table." SET ".$fields;
- return $this->query($query);
- }
- public function update_query($table, $values, $where = '')
- {
- $fields = array();
- foreach($values as $k => $v) {
- $fields[] = "`".$k."`='".$this->quote($v)."'";
- }
- $fields = implode(',', $fields);
- if($where) {
- $fields .= ' WHERE '.$where;
- }
- $query = "REPLACE INTO ".$table." SET ".$fields;
- return $this->query($query);
- }
- public function start_transaction()
- {
- $this->query('START TRANSACTION');
- }
- public function commit()
- {
- $this->query('COMMIT');
- }
- public function rollback()
- {
- $query->query('ROLLBACK');
- }
- public function delete_query($table, $where = '')
- {
- $query = 'DELETE FROM '.$table;
- if($where != '') {
- $query .= ' WHERE '.$where;
- }
- return $this->query($query);
- }
- public function insert_id()
- {
- return $this->link->insert_id;
- }
- public function affected_rows()
- {
- return $this->link->affected_rows;
- }
- }
Add Comment
Please, Sign In to add comment