Viewing file: db.class.php (3.13 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php class UniteDBRev{ private $wpdb; private $lastRowID; /** * * constructor - set database object */ public function __construct(){ global $wpdb; $this->wpdb = $wpdb; } /** * * throw error */ private function throwError($message,$code=-1){ UniteFunctionsRev::throwError($message,$code); } //------------------------------------------------------------ // validate for errors private function checkForErrors($prefix = ""){ if(mysql_error()){ $query = $this->wpdb->last_query; $message = $this->wpdb->last_error; if($prefix) $message = $prefix.' - <b>'.$message.'</b>'; if($query) $message .= '<br>---<br> Query: ' . $query; $this->throwError($message); } } /** * * insert variables to some table */ public function insert($table,$arrItems){ global $wpdb; $this->wpdb->insert($table, $arrItems); $this->checkForErrors("Insert query error"); $this->lastRowID = $wpdb->insert_id; return($this->lastRowID); } /** * * get last insert id */ public function getLastInsertID(){ global $wpdb; $this->lastRowID = $wpdb->insert_id; return($this->lastRowID); } /** * * delete rows */ public function delete($table,$where){ UniteFunctionsRev::validateNotEmpty($table,"table name"); UniteFunctionsRev::validateNotEmpty($where,"where"); $query = "delete from $table where $where"; $this->wpdb->query($query); $this->checkForErrors("Delete query error"); } /** * * run some sql query */ public function runSql($query){ $this->wpdb->query($query); $this->checkForErrors("Regular query error"); } /** * * insert variables to some table */ public function update($table,$arrItems,$where){ $response = $this->wpdb->update($table, $arrItems, $where); if($response === false) UniteFunctionsRev::throwError("no update action taken!"); $this->checkForErrors("Update query error"); return($this->wpdb->num_rows); } /** * * get data array from the database * */ public function fetch($tableName,$where="",$orderField="",$groupByField="",$sqlAddon=""){ $query = "select * from $tableName"; if($where) $query .= " where $where"; if($orderField) $query .= " order by $orderField"; if($groupByField) $query .= " group by $groupByField"; if($sqlAddon) $query .= " ".$sqlAddon; $response = $this->wpdb->get_results($query,ARRAY_A); $this->checkForErrors("fetch"); return($response); } /** * * fetch only one item. if not found - throw error */ public function fetchSingle($tableName,$where="",$orderField="",$groupByField="",$sqlAddon=""){ $response = $this->fetch($tableName, $where, $orderField, $groupByField, $sqlAddon); if(empty($response)) $this->throwError("Record not found"); $record = $response[0]; return($record); } /** * * escape data to avoid sql errors and injections. */ public function escape($string){ $string = esc_sql($string); return($string); } } ?>
|