Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Konstruktor inicjujący połączenie z bazą
pjamorski
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 16.01.2008

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


Witam,

Próbuje pisać swoją klasę na której chcę popracować z bazą danych. Oto ona:
  1. class MySQL_class
  2. {
  3. // fields
  4. var $server;
  5. var $username;
  6. var $password;
  7.  
  8. /* Database fields */
  9. var $db_name;
  10. var $db_connection;
  11. var $db;
  12. var $row;
  13.  
  14. /* Table user fields */
  15. var $nick;
  16. var $passwd;
  17.  
  18. // constructor
  19. function _construct()
  20. {
  21. $this->server="localhost";
  22. $this->username="root";
  23. $this->password="krasnal";
  24. $this->db_connection = mysql_connect($this->server,$this->username,$this->password) or die("Connection failed");
  25. $this->db = mysql_select_db("baza") or die("Database selection failed");
  26. }
  27. // properties SET / GET
  28. function Set_nick($nickname)
  29. {
  30. $this->nick = $nickname;
  31. }
  32. function Set_password($password)
  33. {
  34. $this->passwd = $password;
  35. }
  36. function Get_nick()
  37. {
  38. return $this->nick;
  39. }
  40. function Get_password()
  41. {
  42. return $this->passwd;
  43. }
  44.  
  45. // functions
  46. function Login()
  47. {
  48.  
  49.  
  50. $nick = $this->nick;
  51. $haslo = $this->passwd;
  52. $tmp1;
  53. $tmp2;
  54. $querry = "SELECT *FROM users WHERE nick='$nick' AND passwd='$haslo'";
  55. $equal = mysql_query($querry) or die("Error DB querry");
  56. while($this->row = mysql_fetch_array($equal))
  57. {
  58. $tmp1[] = $this->row['nick'];
  59. $tmp2[] = $this->row['passwd'];
  60. $licznik++;
  61. }
  62. if($nick && $haslo)
  63. {
  64. for($i=0;$i<$licznik;$i++)
  65. {
  66. echo '<br>'.$tmp1[$i].' '.$tmp2[$i];
  67. echo '<br> JESTES ZALOGOWANY';
  68. echo '<a href="table.html"> start </a>';
  69. }
  70. echo '<br><b>Wszystkie operacje identyfikacji zostały zakończone: </b>'.$licznik;
  71. }
  72. else
  73. {
  74. echo 'NIE MOZESZ SIE ZALOGOWAC';
  75. }
  76. }
  77. }


Funkcję Loguj() i jakieś watości, obiekt uruchamiam tak, w osobnym pliku "loguj.php":

  1. <?php
  2. require_once('sql_class.php');
  3. $object = new MySQL_class();
  4. $object->Set_nick("user");
  5. $object->Set_password('dddd');
  6. $object->Login();
  7. ?>


Zadada wydaje mi się jest ok, ale konstruktor nie inicjuje mi tych rzęczy które ma inicjować, przez to mam problem z pracą na bazie, wiadomo jak nie ma z nią połączenia to nic się nie zrobi. Jak zrobię kopiuj w klej zawartość konstruktora do funcji Loguj() to działa normalnie. Jak w PHP powinno w moim przypadku wyglądać ciało konstruktora?

dzięki z góry

Ten post edytował pjamorski 15.04.2010, 19:43:19


--------------------


Chęci to nie wszystko, trzeba działać.
B. Lee

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pjamorski
post
Post #2





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 16.01.2008

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


Na localhost, PHP 5 mam


--------------------


Chęci to nie wszystko, trzeba działać.
B. Lee

Go to the top of the page
+Quote Post

Posty w temacie
- pjamorski   [php] Konstruktor inicjujący połączenie z bazą   15.04.2010, 19:41:40
- - mortus   Nie _construct, ale __construct (dwa znaki podkreś...   15.04.2010, 19:49:59
- - pjamorski   Też nie wykonuje swojej funkcji właściwie. W dalsz...   15.04.2010, 19:59:20
- - mortus   To zastąp tę linię[PHP] pobierz, plaintext $equal ...   15.04.2010, 20:04:01
- - pjamorski   Nie ma żadnego error'a. Właśnie nie wiem co je...   15.04.2010, 20:06:15
- - luck   [SQL] pobierz, plaintext SELECT * [brak spacji...   15.04.2010, 20:06:26
- - pjamorski   Tutaj mam dobrze. Konstruktor z parametrami też z...   15.04.2010, 20:16:31
- - MateuszScirka   Ale zobacz, po co przekazujesz parametry konstrukt...   15.04.2010, 20:19:38
- - pjamorski   [PHP] pobierz, plaintext // constructor function _...   15.04.2010, 20:23:57
- - luck   A tak: [PHP] pobierz, plaintext mysql_query($q...   15.04.2010, 20:25:58
- - pjamorski   Warning: mysql_query(): supplied argument is not a...   15.04.2010, 20:30:35
- - MateuszScirka   Najlepiej napisz do obsługi db osobną klasę lub sk...   15.04.2010, 20:30:55
- - mortus   Spróbuj jeszcze tak:[PHP] pobierz, plaintext class...   15.04.2010, 20:33:26
- - luck   Ja bym do klasy Mateusza dołożył jeszcze coś takie...   15.04.2010, 20:36:52
- - pjamorski   Teraz wywala [PHP] pobierz, plaintext Error DB q...   15.04.2010, 20:43:29
- - luck   Wiesz, może wklej jak to teraz u Ciebie wygląda, b...   15.04.2010, 20:46:22
- - pjamorski   Klasa: [PHP] pobierz, plaintext <?phpclass MyS...   15.04.2010, 20:48:47
- - mortus   Proponuje w funkcji login na samym początku dopisa...   15.04.2010, 20:52:49
- - pjamorski   To dostalem w odpowiedzi: [PHP] pobierz, plaintext...   15.04.2010, 20:55:29
- - mortus   A testujesz to na hostingu, czy na localhoscie? Je...   15.04.2010, 21:12:16
- - pjamorski   Na localhost, PHP 5 mam   15.04.2010, 21:13:15
- - luck   Musi być coś z configiem, bo u mnie ta klasa śmiga...   15.04.2010, 21:13:20
- - pjamorski   Jak przełączyć wersje PHP?   15.04.2010, 21:14:45
- - mortus   Na pulpicie powinieneś mieć Krasnala, uruchamiasz ...   15.04.2010, 21:29:25
- - pjamorski   Kurde narobiłem tyle zamieszania. Chodziło o wersj...   15.04.2010, 21:29:46


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

 



RSS Aktualny czas: 20.08.2025 - 13:46