Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z include/require
Amakesh
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 26.06.2014

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


Witam!
Czy istnieje jakiś sposób na dołączenie pliku .php obsługującego połączenie z bazą RAZ na początku pliku php, żeby nie był konieczny include w każdej funkcji oddzielnie?
Próbuję wstawić na początku skryptu
  1. include('/db.php'); albo
  2. require('/db.php'); albo
  3. require_once('/db.php');


ale żadna z możliwości nie działa - funkcje znajdujące się poniżej po prostu tego nie widzą..natomiast jeśli użyję pierwszej możliwości w obrębie funkcji, wtedy zadziała.

  1. function foo(){
  2.  
  3. include('/db.php');
  4.  
  5. }


Ten post edytował Amakesh 7.05.2018, 17:35:33
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LowiczakPL
post
Post #2





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

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


działa każdy zaprezentowany przez Ciebie sposób, różnica polega tylko na szybkości ładowania, include jest najwolniejsze, require_once ładuje plik tylko raz nawet jak powielisz to samo gdzieś w innych plikach

  1. include('/db.php');
  2. require('/db.php');
  3. require_once('/db.php');


ale u Ciebie problem jest zmienna globalna

załóżmy że w pliku db.php masz taki kod

  1. $db = NewADOConnection('mysqli');
  2. $db->Connect("localhost", "admin_sklepik", "hasełko", "baza_sklepik");


to aby mieć dostęp do połączenia funkcje muszą wyglądać tak

  1. function dodatki_do_menu($id_typ, $id_activ, $ak) {
  2. global $db, $table_kolka;
  3.  
  4. $coutI = $db->Execute("SELECT COUNT(*) AS ile FROM $table_kolka WHERE `id_ktyp`='$id_typ' AND `dodatek` > 0 ");
  5. ...
  6. }

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: 13.10.2025 - 05:40