Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Prosta obiektówka, za chwilę zwariuję..
Dual Jack
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 9.08.2010

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


Witam!

Napisałem sobie bardzo prosty skrypcik połączenia z bazą danych.

Funkcja sql() tworzy obiekt łączący się z bazą danych oraz wysyła zapytanie sql.

Wszystko cacy, ale występuje jakiś nielogiczny błąd. Może Wy znajdziecie przyczynę:

  1.  
  2. public $host = "localhost";
  3. public $user = "root";
  4. public $pass = "password";
  5. public $db_name = "test";
  6.  
  7. public function __construct($host,$user,$pass,$db_name){
  8. echo $db_name; // nic nie zwraca?!
  9. $connect = mysql_connect($host,$user,$pass);
  10. $database = mysql_select_db($db_name);
  11. mysql_query("SET NAMES utf8");
  12. $return_error = "<h1>Błąd połączenia z bazą danych</h1>";
  13. if($connect) return TRUE;[u] else die($return_error)[/u];
  14. }
  15.  
  16. public function query($query){
  17. $results = mysql_query($query) or die(mysql_error());
  18. return $results;
  19. }
  20.  
  21. }
  22.  
  23. function sql($sql){
  24. $db = new mysql_connect;
  25. $db -> query($sql);
  26. }
  27.  
  28. sql("SELECT * FROM blog");



Po uruchomieniu strony, uruchamia się instrukcja die() i zwraca mi ona słowa:
"No database selected".

Chodzi o to, że zmienna $db_name nie przechodzi do wnętrza metody obiektu. Dla czego? Jakim cudem?

Proszę o pomoc.

Ten post edytował Dual Jack 11.04.2013, 18:43:27
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Dual Jack
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 1
Dołączył: 9.08.2010

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


Dziękuję Ci, Szymciosek, za łopatologiczne wyjaśnienie problemu.

W PHP programuję już kilka lat ( raczej amatorsko ) i wstyd mi się przyznać, że dopiero teraz podjąłem się obiektówki ( niektórzy mówią, że lepiej później niż wcale ).

Postanowiłem, własnie jako moją pierwszą klasę, napisać skrypt do bazy danych, stąd tak głupie błędy.

Możliwe, że jeszcze nie do końca rozumiem, jak to działa( myślałem, że __construct() bierze sobie zmienne z klasy )

Jeszcze raz bardzo Ci dziękuję.

Ten post edytował Dual Jack 11.04.2013, 19:22:57
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: 10.10.2025 - 13:00