Advertisement
Guest User

Untitled

a guest
May 11th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.13 KB | None | 0 0
  1. <?php
  2. /*
  3. * Autor: Dawid Duniec
  4. *
  5. *
  6. * Przyk&#322;adowe spos�b u&#380;ycia
  7. * $mysql = new mysqldb();
  8. * $mysql->query("SELECT * FROM cos");
  9. * $wynik = $mysql->pobierz_wyniki();
  10. */
  11.  
  12. class mysqldb{
  13.  
  14. private $connection;
  15. private $wynik;
  16. private $pobierz_wynik;
  17. private $pobierz_wyniki;
  18.  
  19. function __construct() {
  20.  
  21. //definicja danych potrzebnych do po&#322;&#261;czenia z serwerem mysql
  22. $db_host = 'localhost';
  23. $db_user = 'freak';
  24. $db_password = 'dupa';
  25. $db_name = 'freak';
  26. //Bardziej szczeg�&#322;owe informacje o b&#322;&#281;dach: MYSQLI_REPORT_ERROR
  27. //wy&#322;&#261;czamy raportowanie b&#322;&#281;d�w przez modu&#322; mysqli
  28. mysqli_report(MYSQLI_REPORT_OFF);
  29. //&#322;&#261;czymy si&#281;, ukrywaj&#261;c b&#322;&#281;dy na tym etapie
  30. $this->polaczenie = @new mysqli($db_host, $db_user, $db_password, $db_name);
  31. //w razie znanych problem�w system wyrzuci nam &#322;adny komunikat
  32. //w razie nieznanych problem�w system wyrzuci nam numer b&#322;&#281;du
  33. //w razie udanego po&#322;&#261;czenia system ustawi kodowanie na utf8
  34. switch(mysqli_connect_errno()){
  35. case 0:
  36. $this->polaczenie->set_charset("utf8");
  37. break;
  38. case 2002:
  39. echo "SQL - nie mo&#380;na nawi&#261;za&#263; po&#322;&#261;czenia";
  40. exit;
  41. case 1045:
  42. echo "SQL - b&#322;&#281;dna nazwa u&#380;tkownika/has&#322;o ";
  43. exit;
  44. case 1044:
  45. echo "SQL - b&#322;&#261;d wyboru bazy";
  46. exit;
  47. default:
  48. echo "<br/>SQL - b&#322;&#261;d nr <b>: ".mysqli_connect_errno()/"</b>";
  49. exit;
  50. }
  51.  
  52. }
  53. //Funkcja przekazuje otrzymane jako parametr zapytanie do serwera mysql
  54. public function query($zapytanie){
  55. //'maskuje' znaki specjalne w zapytaniu (zabezpieczenie przed crackerami?)
  56. $zapytanie = $this->polaczenie->real_escape_string($zapytanie);
  57. //przekazanie zapytania do bazy
  58. $this->wynik = $this->polaczenie->query($zapytanie);
  59. //W przypadku b&#322;&#281;dnej sk&#322;&#261;dni wy&#347;wietli si&#281; stosowny komunikat
  60. //oraz po&#322;&#261;czenie zostanie zamkni&#281;te a skrypt zako&#324;czy dzia&#322;anie
  61. if(empty($this->wynik)) {
  62. echo "SQL - B&#322;&#261;d zapytania";
  63. $this->polaczenie->close();
  64. exit;
  65. }
  66. }
  67. //Funkcja s&#322;u&#380;y do pobierania pojedy&#324;czego wyniku
  68. public function pobierz_wynik(){
  69. $this->pobierz_wynik = mysqli_fetch_object($this->wynik);
  70. if(empty($this->pobierz_wynik)){
  71. return FALSE;
  72. }
  73. else return $this->pobierz_wynik;
  74.  
  75. }
  76. //Funkcja pobiera wszystkie wyniki jako tablic&#281; obiekt�w
  77. public function pobierz_wyniki(){
  78. while($rekord = mysqli_fetch_object($this->wynik)){
  79. $this->pobierz_wyniki[] = $rekord;
  80. }
  81. if(empty($this->pobierz_wyniki)){
  82. return FALSE;
  83. }
  84. else return $this->pobierz_wyniki;
  85. }
  86.  
  87. //Funkcja zwraca ile wierszy zawiera wynik
  88. public function ile_rekordow(){
  89. return mysqli_affected_rows($this->polaczenie);
  90. }
  91.  
  92. //Zamykamy po&#322;&#261;czenie przy niszczeniu obiektu
  93. public function __destruct() {
  94. @mysqli_close($this->polaczenie);
  95. }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement