Посмотрите на мой класс для работы с БД MySQL. Имеет ли смысл его использовать(мне им удобно пользоваться сложно ошибиться в синтаксисе запроса)? Какие ошибки. В общем критикуйте.
| Код | <?PHP class mDB { var $hostname, $password, $username, $dbName; var $view_sql = false; var $view_error = false; var $def_error = false;
/*===================================================================================== Функции =======================================================================================*/ //подключение к БД function mDB($hostname, $password, $username, $dbName) { $this->hostname =$hostname; $this->password = $password; $this->username = $username; $this->dbName = $dbName; /* создать соединение */ mysql_connect($this->hostname,$this->username,$this->password) OR DIE($this->error()); /* выбрать базу данных. Если произойдет ошибка - вывести ее */ mysql_select_db($dbName) or die($this->error()); }// end conectDB //выбор БД function sel_db($dbName) { $this->dbName = $dbName; mysql_select_db($dbName) or die($this->error()); } /*==================================================================================== Функции отвечающие за вывод ошибок и текстов запросов ==================================================================================*/ //выводить ошибки или нет function set_view_error($view = true) { $this->view_error = $view; } //выводить текст запроса или нет function set_view_sql($view = true) { $this->view_sql = $view; } //выводит ошибки запроса private function error() { if ($this->view_error) return mysql_error(); else return $this->def_error; } //выводит сам запрос к БД private function view_sql($sql) { if ($this->view_sql) echo $sql; } //устанавливает какое сообщение выводить вслучае ошибки function set_def_error($error) { $this->def_error = $error; } /*============================================================================ Функции запросов к БД ===============================================================================*/ // запрос SELECT function sel($pole,$table,$where='',$limit='',$order='',$arr = false) { if ($where!='') $where = 'where('.$where.')'; if ($limit != '') $limit = 'LIMIT '.$limit.''; if ($order != '') $order = 'ORDER BY '.$order; $sql = "SELECT $pole FROM $table $where $order $limit"; $result = mysql_query($sql) or die($this->error() ); if (!$arr) return $result; else //если нажо сразу сформировать массив данных, когда запрос выбирает только одну строку { $array = mysql_fetch_array($result) or die($this->error()); return $array; }//else }//end sel //последнее сгенерированное function last_insert_id() { $result = mysql_fetch_array(mysql_query('SELECT LAST_INSERT_ID()')); return $result[0]; } function del($table,$where) { $sql = "DELETE FROM $table WHERE ($where)"; mysql_query($sql) or die ($this->error()); } //обновление записей function upd($table,$pole,$where ='') { if ($where!='') $where = 'where ('.$where.')'; $sql = "UPDATE $table SET $pole $where "; mysql_query($sql) or die($this->error()); } //вставка записи function ins($table,$pole,$value) { $sql = 'INSERT INTO '.$table.'('.$pole.') values('.$value.')'; $result = mysql_query($sql) or die($this->error()); } //проверка авторизации function avt($table,$login,$pass){ $sql = 'SELECT id FROM '.$table.' where(name="'.$login.'" and pass="'.$pass.'")'; $result = mysql_query($sql) or die($this->error()); if (mysql_num_rows($result)>0) return true; else return false; } //проверка существования function chek($table,$p1,$v1,$p2='',$v2=''){ if ($p2 == '') { $and = ''; } else $and = 'and '.$p2.'="'.$v2.'"'; $sql = "SELECT id FROM $table where($p1='$v1' $and)"; $result = mysql_query($sql) or die($this->error()); if (mysql_num_rows($result)>0) $a=true; else $a = false; return $a; } //подсчет количества записей function num($table,$pole,$where=''){ if($where!='') $where = 'where('.$where.')'; $sql = "SELECT COUNT($pole) FROM $table $where "; $result = mysql_query($sql) or die($this->error()); $arr = mysql_fetch_array($result); return $arr[0]; } }//clacc mDB ?>
|
|