Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- include_once(dirname(__FILE__).'/' . "exception.class.php");
- Class CMySQL
- {
- public function CMySQL($server_,$db_user_,$db_pass_,$db_name_)
- {
- $this->isconnected = 0;
- $this->server = $server_;
- $this->db_user = $db_user_;
- $this->db_pass = $db_pass_;
- $this->db_name = $db_name_;
- $this->db_err = "";
- $this->db_cid = 0;
- return TRUE;
- }
- public function Connect()
- {
- $this->db_cid = mysql_connect($this->server, $this->db_user, $this->db_pass);
- if ($this->CheckForError())
- throw new ExtendException("Ошибка соединения с базой данных.<br> server = ".$this->server." user = ".$this->db_user." password = ".$this->db_pass."\r\n".$this->db_err,
- "Ошибка соединения с базой данных");
- mysql_select_db($this->db_name);
- if ($this->CheckForError())
- throw new ExtendException("Ошибка выбора базы данных.<br> db = ".$this->db_name."\r\n".$this->db_err,
- "Ошибка соединения с базой данных");
- $this->isconnected = 1;
- return TRUE;
- }
- public function SendQuery($query,$value=NULL)
- {
- if (!$this->isconnected)
- throw new ExtendException("Отсутствует соединение с базой при попытке выполнить запрос\r\n",
- "Ошибка соединения с базой данных");
- $result = mysql_query($query,$this->db_cid);
- if ($this->CheckForError()==1)
- throw new ExtendException("Ошибка выполнения запроса<br> query = ".$query."<br>".$this->db_err,
- "Ошибка соединения с базой данных");
- if ($value != NULL)
- return $result;
- else
- return TRUE;
- }
- public function isLoginFree($login, $table)
- {
- $query = sprintf("SELECT COUNT(user_id) FROM %s WHERE user_login='%s' LIMIT 1",
- mysql_real_escape_string($table,$this->db_cid),
- mysql_real_escape_string($login,$this->db_cid));
- $res = $this->SendQuery($query,TRUE);
- if(mysql_result($res, 0) > 0)
- throw new ExtendException("Такой логин уже существует",
- "Такой логин уже существует");
- return TRUE;
- }
- public function isSuccessAuth($login,$pwd,$table,$secret_key)
- {
- $query = sprintf("SELECT user_id, user_password FROM %s WHERE user_login='%s' LIMIT 1",
- mysql_real_escape_string($table,$this->db_cid),
- mysql_real_escape_string($login,$this->db_cid));
- $query = $this->SendQuery($query,TRUE);
- $data = mysql_fetch_assoc($query);
- $pwd .= $secret_key;
- if($data['user_password'] == md5(md5($pwd)))
- return $data['user_id'];
- else
- throw new ExtendException("Неверный логин/пароль<br> user_hash = ".md5(md5($pwd))." != ".$data['user_password']." = db_hash",
- "Неверный логин/пароль");
- }
- public function GetUpdateString($id,$hash,$insip,$table)
- {
- $query = "UPDATE ".mysql_real_escape_string($table,$this->db_cid)." SET user_hash='";
- $query .= mysql_real_escape_string($hash,$this->db_cid)."'" . $insip;
- $query .= " WHERE user_id='".$id."'";
- return $query;
- }
- public function IsConnected()
- {
- return (bool)$this->isconnected;
- }
- public function GetLastError()
- {
- return $this->db_err;
- }
- private function CheckForError()
- {
- $this->db_err = mysql_error();
- if ($this->db_err)
- return 1;
- else
- return 0;
- }
- var $isconnected;
- var $server;
- var $db_user;
- var $db_pass;
- var $db_name;
- var $db_err;
- var $db_cid;
- }
- ?>
Add Comment
Please, Sign In to add comment