Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]obiektowe połaczenie z bazą
pablo_83
post
Post #1





Grupa: Zarejestrowani
Postów: 200
Pomógł: 16
Dołączył: 11.01.2009
Skąd: wrocław

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


witam,
jestem początkujący w obiektowym programowaniu i za bardzo nie chce mi to do głowy wejść.
Próbuję się połączyć obiektowo z bazą i napisałem poniższy kod

  1. <?php
  2. require_once ('hasla.php');
  3. ?>
  4.  
  5. <?php
  6.  
  7. class DataAccess
  8. {
  9. var $DataBase;
  10.  
  11. function BaseConnect ($host, $user, $password, $db)
  12. {$this->db = mysql_connect ($host, $user, $password) or die ('Nie mogę nawiązać połączenia');
  13. mysql_select_db ($db,$this->db);
  14. mysql_query("Set Names 'utf8'");
  15. mysql_query("Set collation_connection = utf8_polish_ci");
  16. }
  17.  
  18. function BaseClose ()
  19. {$this->BaseConnect;
  20. $close = $this->db;
  21. mysql_close($close);
  22. }
  23. }
  24.  
  25.  
  26. $DataBase = new DataAccess();
  27. /*if (!$DataBase) {echo 'niepołączony';}
  28.   else {echo 'połączony';}*/
  29. ?>


Moje pytanie brzmi, czy ten kod jest poprawny?
Jak w prosty sposób mogę sprawdzić połączenie z bazą ( czy mogę zrobić coś takiego jak w wykomentowaniu).
Proszę o pomoc w rozwiązaniu, chce zrozumieć w końcu tą obiektowość, czytałem sporo ale jakoś w teorii nie wchodzi mi to głowy
może na własnych błędach i swoim przykładzie uda mi się to zrozumieć.

Składnia kodu powinna być ok bo żadne błędy nie wyskakują.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Rookie
post
Post #2





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 1.03.2008
Skąd: Olsztyn

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


A nie powinno być zamiast:
  1. var $MyDataBase;

to:
  1. private $MyDataBase;

Żeby już pod php5 było.
Zamiast funkcji destrukcyjnej zrób funkcję np. zamknij().
I wtedy:
  1. $MyDataBase = new DataAccess(localhost, uzytkownik, haslo, nazwa_bazy_danych);
  2. //operacje na bazie
  3. $MyDataBase->zamknij();

Nie sprawdzałem, ale powinno być ok.
PS. Sam zaczynam z OOP ale już siedzę w tym niecały tydzień (IMG:style_emoticons/default/smile.gif)
Pozdrawiam.

Ten post edytował Rookie 5.09.2009, 16:26:33
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: 4.10.2025 - 16:28