Guest User

Untitled

a guest
Dec 10th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. <?php
  2.  
  3. include_once(dirname(__FILE__).'/' . "exception.class.php");
  4. Class CMySQL
  5. {
  6. public function CMySQL($server_,$db_user_,$db_pass_,$db_name_)
  7. {
  8. $this->isconnected = 0;
  9. $this->server = $server_;
  10. $this->db_user = $db_user_;
  11. $this->db_pass = $db_pass_;
  12. $this->db_name = $db_name_;
  13. $this->db_err = "";
  14. $this->db_cid = 0;
  15. return TRUE;
  16. }
  17. public function Connect()
  18. {
  19. $this->db_cid = mysql_connect($this->server, $this->db_user, $this->db_pass);
  20. if ($this->CheckForError())
  21. throw new ExtendException("Ошибка соединения с базой данных.<br> server = ".$this->server." user = ".$this->db_user." password = ".$this->db_pass."\r\n".$this->db_err,
  22. "Ошибка соединения с базой данных");
  23. mysql_select_db($this->db_name);
  24. if ($this->CheckForError())
  25. throw new ExtendException("Ошибка выбора базы данных.<br> db = ".$this->db_name."\r\n".$this->db_err,
  26. "Ошибка соединения с базой данных");
  27. $this->isconnected = 1;
  28. return TRUE;
  29. }
  30. public function SendQuery($query,$value=NULL)
  31. {
  32. if (!$this->isconnected)
  33. throw new ExtendException("Отсутствует соединение с базой при попытке выполнить запрос\r\n",
  34. "Ошибка соединения с базой данных");
  35. $result = mysql_query($query,$this->db_cid);
  36. if ($this->CheckForError()==1)
  37. throw new ExtendException("Ошибка выполнения запроса<br> query = ".$query."<br>".$this->db_err,
  38. "Ошибка соединения с базой данных");
  39. if ($value != NULL)
  40. return $result;
  41. else
  42. return TRUE;
  43. }
  44. public function isLoginFree($login, $table)
  45. {
  46. $query = sprintf("SELECT COUNT(user_id) FROM %s WHERE user_login='%s' LIMIT 1",
  47. mysql_real_escape_string($table,$this->db_cid),
  48. mysql_real_escape_string($login,$this->db_cid));
  49. $res = $this->SendQuery($query,TRUE);
  50. if(mysql_result($res, 0) > 0)
  51. throw new ExtendException("Такой логин уже существует",
  52. "Такой логин уже существует");
  53. return TRUE;
  54. }
  55. public function isSuccessAuth($login,$pwd,$table,$secret_key)
  56. {
  57. $query = sprintf("SELECT user_id, user_password FROM %s WHERE user_login='%s' LIMIT 1",
  58. mysql_real_escape_string($table,$this->db_cid),
  59. mysql_real_escape_string($login,$this->db_cid));
  60. $query = $this->SendQuery($query,TRUE);
  61. $data = mysql_fetch_assoc($query);
  62. $pwd .= $secret_key;
  63. if($data['user_password'] == md5(md5($pwd)))
  64. return $data['user_id'];
  65. else
  66. throw new ExtendException("Неверный логин/пароль<br> user_hash = ".md5(md5($pwd))." != ".$data['user_password']." = db_hash",
  67. "Неверный логин/пароль");
  68. }
  69. public function GetUpdateString($id,$hash,$insip,$table)
  70. {
  71. $query = "UPDATE ".mysql_real_escape_string($table,$this->db_cid)." SET user_hash='";
  72. $query .= mysql_real_escape_string($hash,$this->db_cid)."'" . $insip;
  73. $query .= " WHERE user_id='".$id."'";
  74. return $query;
  75. }
  76. public function IsConnected()
  77. {
  78. return (bool)$this->isconnected;
  79. }
  80. public function GetLastError()
  81. {
  82. return $this->db_err;
  83. }
  84. private function CheckForError()
  85. {
  86. $this->db_err = mysql_error();
  87. if ($this->db_err)
  88. return 1;
  89. else
  90. return 0;
  91. }
  92. var $isconnected;
  93. var $server;
  94. var $db_user;
  95. var $db_pass;
  96. var $db_name;
  97. var $db_err;
  98. var $db_cid;
  99. }
  100. ?>
Add Comment
Please, Sign In to add comment