Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z metodą __construct
Forum PHP.pl > Forum > PHP > Object-oriented programming
rychu123
Witam, mam problem z __construct zmienna $conn nie zwraca mi połaczenia do bazy

  1. class ModulDB extends ModulUser
  2. {
  3.  
  4. static private $conn;
  5.  
  6. public function __construct()
  7. {
  8. self::$conn = parent::getConnectDB($_SESSION['host'], $_SESSION['login'], $_SESSION['pass']);
  9. }
  10.  
  11. static public function showDatabases()
  12. {
  13.  
  14. $db_list = mysql_list_dbs(self::$conn);
  15.  
  16. while ($row = mysql_fetch_object($db_list))
  17. {
  18. echo '<li><a href="' . base64_encode($row->Database) . '">' . $row->Database .
  19. '</a></li>';
  20. }
  21. }
  22. }
sazian
po pierwsze dlaczego trzymasz dane do połączenia z bazą w sesji ?
po drugie mamy zgadywać co robi getConnectDB ?
sprawdziłeś czy dane są prawidłowe ? sprawdziłeś komunikaty błędów ?
rychu123
  1. public function getConnectDB($host, $user, $pass)
  2. {
  3. $conn = @mysql_connect($host, $user, $pass);
  4. return $conn;
  5. }
johny_s
wywal @
włącz wyświetlanie błędów
rychu123
sorki zapomniałem smile.gif

  1. Warning: mysql_list_dbs() expects parameter 1 to be resource, null given in C:\xampp\htdocs\panel-Admin\class\ModulDB.class.php on line 21
  2.  
  3. Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\panel-Admin\class\ModulDB.class.php on line 23
johny_s
a wywołujesz gdzieś konstruktor? bo metoda statyczna go domyślnie nie wywołuje
rychu123
Cytat(johny_s @ 18.04.2015, 13:12:12 ) *
a wywołujesz gdzieś konstruktor? bo metoda statyczna go domyślnie nie wywołuje


no tak racja sciana.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.