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
pablo_83
post
Post #2





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

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


teraz kod wyświetla zawartość tabeli.
Mam pytanie czy jest on poprawny jeśli nie to co należałoby zmienić, mam pytanie dotyczące konstruktora jak to powinno wyglądać żeby najpierw zdefiniować konstruktor a potem metodę połączenia z bazą.
Nie mogę tego zczaić kompletnie proszę o rady.

  1. <?php
  2. //require_once ('hasla.php');
  3. ?>
  4.  
  5. <?php
  6.  
  7. class Connecting
  8. {
  9. private $baza;
  10.  
  11.  
  12. function __construct ($host, $user,$password, $baza)
  13. {$this->baza = mysql_connect (localhost, root, haslo, Serwis ) or die ('Nie mogę nawiązać połączenia:'.mysql_error());
  14. mysql_select_db (Serwis) or die ('nie mogę wybrać bazy:'.mysql_error());
  15. mysql_query("Set Names 'utf8'");
  16. mysql_query("Set collation_connection = utf8_polish_ci");
  17. }
  18.  
  19. private function DB_close()
  20. {$this->DB_connect();
  21. $close = $this->MyDataBase;
  22. mysql_close($close);
  23. }
  24. }
  25.  
  26.  
  27. $baza = new Connecting($host, $user, $password, $baza);
  28.  
  29. $zapytanie = ("SELECT * FROM Klient");
  30. $wynik = mysql_query($zapytanie) or die (mysql_error());
  31. echo '<form action="index.php" method="post"><table >';
  32. echo '<tr><td><select name="id">';
  33. while ($row = mysql_fetch_array($wynik)){
  34.  
  35. echo'<option value="'.$row['IdKlienta'].'">'.$row['Nazwisko']. '</option>';}
  36. echo '</select></td></tr>';
  37. echo '<tr><td><input type="submit" value="Pokaż Klienta"/></td></tr>';
  38. echo '</table></form>' ;
  39.  
  40. if (!isset($_POST['id']))
  41. {}
  42. else {
  43. $nazwisko = $_POST['id'];
  44.  
  45. $zapytanie = "SELECT * FROM Klient WHERE IdKlienta = '$nazwisko' ORDER By Nazwisko ASC";
  46. $wynik = mysql_query($zapytanie);
  47. $row = mysql_fetch_array($wynik);
  48.  
  49. '<table >
  50. <tr>
  51. <td>Nazwisko</td><td>-</td><td>'.$row['Nazwisko'].'</td></tr>
  52. <tr>
  53. <td>Imię</td><td>-</td><td>'.$row['Imie'].'</td></tr>
  54. <tr>
  55. <td>IdKlienta</td><td>-</td><td>'.$row['IdKlienta'].'</td></tr>
  56. <tr>
  57. <td>Telefon</td><td>-</td><td>'.$row['Telefon'].'</td></tr>
  58. </table>'; }
  59.  
  60. ?>


Jak zrobić żeby hasło i loginy były ładowane z osobnego pliku, jak wykorzystać require lub include??
raczkuje w tematyce obiektowości więc proszę o wyrozumiałość nawet jeśli moje pytania mogą się wydawać głupie lub banalne.
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: 31.12.2025 - 16:53