Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Polaczenie z mysql OOP
redelek
post
Post #1





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

Ostrzeżenie: (0%)
-----


Witam,

Przerobiłem troszkę materiału i proszę o poradę. Zanim się napiszę i potem wszystko będzie źle (IMG:style_emoticons/default/smile.gif)
Napisałem klasę do łączenia się z mysql i nawet działa. Pytanie mam takie czy jest to dobrze napisane ?
Czy na coś zwrócić uwagę i gdzieś mam jakieś błędy? które Wy widzicie ?

  1. ini_set('display_errors','1');
  2. class mMySQL
  3. {
  4.  
  5. public $Serwer, $Baza, $Uzytkownik, $Haslo;
  6. #-#############################################
  7. # Nawiazywanie polaczenia z baza
  8. function Polacz ($link=false) {
  9. $this->link_id=@mysql_connect($this->Serwer,$this->Uzytkownik,$this->Haslo,$link);
  10.  
  11. if (!$this->link_id) {
  12. $this->blad("Nie mogę podłączyć się do serwera: <b>$this->Serwer</b>.");
  13. }
  14.  
  15. if(!@mysql_select_db($this->Baza, $this->link_id)) {//no database
  16. $this->blad("Nie mogę wybrać bazy danych: <b>$this->Baza</b>.");
  17. }
  18. if(@mysql_select_db($this->Baza, $this->link_id)) {
  19. mysql_query("SET NAMES 'utf8'");
  20. mysql_query("SET CHARACTER_SET_CLIENT=utf8");
  21. mysql_query("SET CHARACTER_SET_RESULTS=utf8");
  22. }
  23. }#-#Polacz()
  24. #-#############################################
  25. # zamykanie polaczenia z baza
  26. function Zamknij() {
  27. if(!@mysql_close($this->link_id)){
  28. $this->blad("Nie można zamknąć połączenia z serwerem :(");
  29. }
  30. }#-#zamknij()
  31. #-#############################################
  32. # komunikaty o błędach
  33. function blad($msg='') {
  34. if($this->link_id>0){
  35. $this->error=mysql_error($this->link_id);
  36. $this->errno=mysql_errno($this->link_id);
  37. }
  38. else{
  39. $this->error=mysql_error();
  40. $this->errno=mysql_errno();
  41. }
  42. echo "<b>Błąd aplikacji</b><br />";
  43. echo "<hr>";
  44. echo "<b>Komunikat:</b>".$msg."<br />";
  45. echo "<b>MySQL błąd: </b>".$this->error."<br>";
  46. echo "<b>MySQL kod: </b>".$this->errno."<br>";
  47. echo "<br>";
  48. }#-#blad()
  49.  
  50. }
  51. ## JAK TO DZIAŁA
  52. $SQL = new mMySQL();
  53. $SQL->Serwer = 'localhost';
  54. $SQL->Baza = 'mysql';
  55. $SQL->Uzytkownik = 'root';
  56. $SQL->Haslo = '';
  57. $SQL->Polacz();
  58.  
  59.  
  60. $SQL->Zamknij();
  61. ?>


Czy na przykład użyć protected Polacz; ?

Ten post edytował redelek 17.05.2010, 11:42:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
redelek
post
Post #2





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

Ostrzeżenie: (0%)
-----


Hej,

Ja uparcie obiektowo, poprawiłem to na co zwróciliście mi uwagę i wygląda to tak
Proszę zobaczcie i powiedźcie czy jest dobrze lub czego brakuje

  1. class mMySQL
  2. {
  3. private $polacz_db; //połączenie do serwera
  4. private $dbuzytkownik = "root1"; //uzytkownik nazy danych
  5. private $dbhaslo = ""; // jego hasło
  6. private $dbnazwa = "bz_txt"; //nazwa bazy
  7. private $dbserwer = "localhost"; //nazwa serwera
  8. private $dbwynik; // wynik zapytania
  9.  
  10. public function __construct() {
  11. $this->polacz_db = @mysql_connect($this->dbserwer,$this->dbuzytkownik,$this->dbhaslo);
  12. if(!($this->polacz_db)) {
  13. return false;
  14. }
  15. else {
  16. mysql_query("SET NAMES 'utf8'");
  17. mysql_query("SET CHARACTER_SET_CLIENT=utf8");
  18. mysql_query("SET CHARACTER_SET_RESULTS=utf8");
  19. mysql_select_db($this->dbnazwa);
  20.  
  21. return true;
  22. }
  23. }
  24.  
  25. public function __destruct() {
  26. @mysql_close($this->polacz_db);
  27. }
  28.  
  29. public function query($sql) {
  30. $this->dbwynik = mysql_query($sql);
  31. return $this->dbwynik;
  32. }
  33.  
  34. }


Będę wdzięczny za kolejne uwagi

Ten post edytował redelek 21.05.2010, 14:35:26
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 30.12.2025 - 12:18