Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]PHP nie widzi zmiennych, Dziwny błąd, który pojawia się przy stosowaniu PHP > 5.4.
Syaoran i Sakura
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 11.11.2013

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


Ohayo!

Od jakiegoś czasu piszę programy w PHP. Skrypt, który przedstawiam poniżej działał prawidłowo w XAMPP-ie 1.73 (zapewne tam było PHP w wersji niższej niż 5.4). Gdy przeszedłem na XAMPP-a 1.82 (gdzie króluje PHP 5.4) przeglądarka wyrzuca mnóstwo błędów przy wczytywaniu pliku file02.php, których wcześniej nie było. Nie chodzi mi o to aby się pozbyć komunikatów lecz o to by skrypt działał prawidłowo.

Plik cat01/config.php:
  1. <?php
  2. $serwer="localhost";
  3. $user="root";
  4. $pass="";
  5. $baza="baza01";
  6. ?>


Plik cat01/function.php:
  1. <?php
  2. require("config.php");
  3. define("serwer",$serwer);
  4. define("user",$user);
  5. define("pass",$pass);
  6. define("baza",$baza);
  7. function polacz()
  8. {
  9. global $mysqli;
  10. $mysqli=new mysqli(serwer,user,pass,baza);
  11. $mysqli2=$mysqli->errno;
  12. if ($mysqli2 === NULL){return "zero";}
  13. if ($mysqli2 === 0){return "gut";}
  14. if ($mysqli2 !=0){return "pudlo";}
  15. }
  16. ?>

W pliku function.php docelowo mają się też znaleźć inne funkcje zależne od funkcji połącz. Funkcję tę stworzyłem po to by za każdym razem nei sprawdzać czy udało się połączenie z bazą danych i nie pisać komunikatów błędów na Ekranie.

Plik file02.php
  1. <?php
  2. require("cat01/function.php");
  3. $test01=polacz();
  4. //Zapytania
  5. if ($test01 != "gut")
  6. {echo "Nie udało się połączyć z bazą danych...";}
  7. if ($test01 == "gut")
  8. {
  9. $query="SELECT * FROM drzewo limit 2";
  10. $result=$mysqli->query($query,MYSQLI_STORE_RESULT);
  11. $result2=$result->num_rows;
  12. if ($result2 == 0)
  13. {echo "Nie udało się...";
  14. $mysqli->close();}
  15. if ($result2 >=1)
  16. {echo "Zwrócono rekordy...";}
  17. //Tutaj później pojawią się instrukcje do obróbki rekordów
  18. }
  19. ?>

CODE

Notice: Undefined variable: serwer in C:\xampp\htdocs\puppe\cat01\function.php on line 3

Notice: Undefined variable: user in C:\xampp\htdocs\puppe\cat01\function.php on line 4

Notice: Undefined variable: pass in C:\xampp\htdocs\puppe\cat01\function.php on line 5

Notice: Undefined variable: baza in C:\xampp\htdocs\puppe\cat01\function.php on line 6

Notice: Trying to get property of non-object in C:\xampp\htdocs\puppe\file02.php on line 9
Nie udało się..
.

Tak wygląda wynik wykonania skryptu file02.php. Wcześniej było wszystko jak trzeba. W wersji 5.3 PHP miałem wyłączone register_globals i działało. Teraz jak gdyby serwer dostał grzyba i nie łączy się z bazą danych (dane do bazy są podane prawidłowo. w tabeli drzewo znajdują się przykładowe wartości). Nie wiem gdzie jest błąd. Poza tym zależy mi na tym aby wyrzucało błędy w przypadku niepowodzenia połączenia się z bazą danych, zwłaszcza że serwery MySQL są zawodne i czasami nie udaje się nawiązać z nimi połączenia gdy np. są przeciążone.
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: 22.08.2025 - 11:42