Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Laczenie z baza danych, problem z umiejscowieniem
sf
post
Post #1





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Witam,
Pisze właśnie skrypt newsowy i zastanawiam sie nad kwestią momentu łączenia z bazą danych. Czy utworzyć takowe połączenie przy logowaniu i utrzymywać je aż do wylogowania? Czy też uruchamiać je przy akcji na bazie danych.

Obecnie opiera się to na drugim sposobie. Jednakże napotkałem na mały błąd, który wyskakuje przy includowaniu dwóch plików po sobie (wszystkie akcje wywoływane są z index.php i plików do niego podłączonych). Mianowicie kod :

  1. <?php
  2. // ./actions/usun.php
  3. include 'mysql.php';
  4. $db = new DB;
  5.  
  6. // ..
  7.  
  8. // ./pages/usun.php
  9. include 'mysql.php';
  10. $db = new DB;
  11. ?>


Jak widzimy... pierwszy błąd to dwukrotne załadowanie pliku mysql.php, rozwiązanie poszło takie, że dodałem na początku index.php, a w plikach pousuwałem.

Drugi błąd to redeklaracja klasy DB... no i teraz nie wiem bo to takie nieeleganckie na początku index.php zadeklarowac $db... no i stąd mój post. Może ktoś mi przedstawić jakąś propozycje bazując na własnym doświadczeniu? smile.gif


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Bielo
post
Post #2





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 21.09.2003
Skąd: Truskaw

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


Zamiast include możesz użyć include_once wtedy nie zaincluduje pliku po raz drugi


--------------------
Go to the top of the page
+Quote Post
Dabroz
post
Post #3





Grupa: Zarejestrowani
Postów: 286
Pomógł: 0
Dołączył: 1.11.2003
Skąd: Poland, Płock

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


Ja zawsze trzymam klasę do bazy danych w osobnym pliku i ja na poczatku inkluduje, ale sproboj swoje inklude'y zmienić na:

  1. <?php
  2.  
  3.  
  4. if (!defined('CDB'))
  5. {
  6. include 'mysql.php';
  7. $db = new DB;
  8. define('CDB',1);
  9. }
  10.  
  11. ?>


--------------------
Go to the top of the page
+Quote Post
scanner
post
Post #4





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat(sf @ 2004-07-19 18:31:06)
Drugi błąd to redeklaracja klasy DB... no i teraz nie wiem bo to takie nieeleganckie na początku index.php zadeklarowac $db...

Że niby czemu nieelegancje?

Pomyśl... kilkanascie razy chcesz inicjowac polczenie, kilkanascie includowac plik...
Brawa za wydajność.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Puciek
post
Post #5


TAO programowania


Grupa: Zarejestrowani
Postów: 340
Pomógł: 3
Dołączył: 25.03.2003
Skąd: ze słoika

Ostrzeżenie: (30%)
XX---


Ja proponuje mój sposób, znacyz łączysz na początku i rozłączasz na końcu - proste i niebanalne winksmiley.jpg


--------------------

http://puciek.wordpress.com prywatnie o świecie
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 08:32