Guest User

Untitled

a guest
Mar 3rd, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  1. <?php
  2.  
  3. class Database{
  4. public $isConn;
  5. protected $data;
  6. //конфиги для подключения к базе; подключение к базе
  7. public function __construct($username = "mysql", $password = "mysql", $host = "127.0.0.1", $dbname = "my_db", $options = []){
  8. $this->isConn = TRUE;
  9. $this->data = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password, $options);
  10. $this->data->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  11. $this->data->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
  12. }
  13. //Отключение от бд
  14. public function Disconnect(){
  15. $this->data = NULL;
  16. $this->isConn = FALSE;
  17. }
  18. //Выбрать одну запись,
  19. public function getRow($params = []){
  20. $stmt = $this->data->prepare("SELECT * FROM user WHERE id = ?");
  21. $stmt->execute($params);
  22. return $stmt->fetch();
  23. }
  24. //выбрать все записи
  25. public function getAllRows(){
  26. $stmt = $this->data->prepare("SELECT * FROM user");
  27. $stmt->execute();
  28. return $stmt->fetchAll();
  29. }
  30. //функция регистрации
  31. public function insertRow($params = []){
  32. $stmt = $this->data->prepare("INSERT INTO user SET name = ?, surname = ?, patronymic = ?, age = ?, login = ?, password = ?, address = ?, email = ?, photo = ?");
  33. $stmt->execute($params);
  34. return TRUE;
  35. }
  36. //проверка на существование аккаунта
  37. public function checkUser($params = []){
  38. $stmt = $this->data->prepare("SELECT COUNT(*) as count FROM user WHERE login = ? AND password = ?");
  39. $stmt->execute($params);
  40. $res = $stmt->fetch();
  41. $rest = $res['count'];
  42. return ($rest == 1)? true : false;
  43. }
  44. //проверка свободен ли логин
  45. public function checkLogin($params = []){
  46. $stmt = $this->data->prepare("SELECT COUNT(*) as count FROM user WHERE login LIKE ? ");
  47. $stmt->execute($params);
  48. $res = $stmt->fetch();
  49. $rest = (int) $res['count'];
  50. return ($rest > 0)? false : true;
  51. }
  52. //провереряет есть ли пользователь с таким ид
  53. public function checkId($id){
  54. $stmt = $this->data->prepare("SELECT COUNT(*) as count FROM user WHERE id = ? ");
  55. $stmt->bindValue(1, $id, PDO::PARAM_INT);
  56. $stmt->execute();
  57. $res = $stmt->fetch();
  58. $rest = (int) $res['count'];
  59. return ($rest == 0)? true : false;
  60. }
  61. //получить ид пользователя по логину и паролю
  62. public function getUserId($params = []){
  63. if($this->checkUser($params)){
  64. $stmt = $this->data->prepare("SELECT id FROM user WHERE login = ? AND password = ?");
  65. $stmt->execute($params);
  66. $res = $stmt->fetch();
  67. return $res['id'];
  68. }else{
  69. return false;
  70. }
  71. }
  72. }
  73. $user = new Database();
  74. ?>
Add Comment
Please, Sign In to add comment