Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zmienne globalne
rorschach
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 10.07.2009

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


Witam,
Tworzę na własne potrzeby rdzeń do obsługi bazy.
Plik dołączany jest przez require_once. Na samym początku deklaruje zmienną $db i w funkcjach
create_connection i close_connection wskazuje, że jest to zmienna globalna. W pliku, w którym dołączyłem
wywołuje kolejno create_connection i następnie close_connection. Druga nie ma w ogóle informacji o stworzonym w pierwszej obiekcie. W XDebugu widzę, że
jest to obiekt null, czyli global nie działa. Poczytałem trochę o zakresach i przyznam, ze nadal
nie mogę dojść dlaczego tak się dzieje. Gdy używam $GLOBALS['db'] wszystko działa. Bardzo prosiłbym o wyjaśnienie dlaczego tak się dzieje.



  1. <?php
  2. require_once ('DB.php');
  3.  
  4. $db;
  5.  
  6. function create_connection($user, $password, $hostname, $database){
  7.   $connection_string = "mysqli://$user:$password@$hostname/$database";
  8.  
  9.   global $db;
  10.  
  11. $db =&DB::connect($connection_string);
  12.   if (PEAR::isError($db)) {
  13.    die($db->getMessage());
  14. }else
  15.   echo 'utworzono połączenie';
  16. }
  17.  
  18. function close_connection(){
  19.   global $db;
  20.   $db->disconnect();
  21.   echo 'rozłączono';
  22. }
  23. ?>


Ten post edytował rorschach 10.07.2009, 08:39:48
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: 24.08.2025 - 16:29