Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mySQL][php]Otwieranie i utrzymywanie połączenia z bazą danych
Forum PHP.pl > Forum > Przedszkole
17kaczor
Hej!
może ktoś mnie oświeci w następującej kwestii:
czy w każdym skrypcie PHP należy od nowa inicjować połączenie z bazą danych?
innymi słowy, czy w każdym skrypcie PHP wykonującym operacje na bazie danych powinien się znaleźć zapis otwierający połączenie?:
  1. <?php
  2. $connection = mysql_connect('localhost', 'uzytkownik', 'haslo')
  3. or die('Nie można się połączyć: ' . mysql_error());
  4. ?>


a może jest jakiś patent, żeby połączenie ustanowić raz i korzystać z niego przez cały czas trwania sesji użytkownika?
i nie chodzi mi tutaj o wyniesienie polecenia otwierającego połączenie do osobnego pliku, a potem include'owania go we wszystkich skryptach wymagających korzystania z bazy;
próbowałem rozwiązać "problem" poprzez zapamiętywanie id połączenia w zmiennej sesyjnej, ale jest ono widoczne tylko w obrębie skryptu, w którym połączenie zainicjowałem, w pozostałych skryptach identyfikator jest tracony; nie wiem, czy to specyfika PHP i MySQL, czy może ja robię coś nie OK?
a może jest jakiś inny patent na ten "problem"?

z góry dzięki za odpowiedź party.gif
SongoQ
1 polaczeine dla 1 requesta. Tak sie robi i tak powinno byc.
17kaczor
OK, przyjmuję, że taki jest standard - jedno połączenie z bazą dla jednego request'a;
ale z czego to wynika (moje pytanie pewno wyda się naiwne, ale dopiero zaczynam przygodę z PHP i MySQL)?
SongoQ
Po przetworzeniu zadania przez serwer polaczenie z baza danych jest automatycznie zamykane. Napisz moze co chcesz osiagnac to bedzie latwiej.
17kaczor
W zasadzie to nie chcę osiągnąć nic szczególnego, to raczej takie "widzimisię" biggrin.gif
po prostu mam pewne nawyki wyniesione z pracy w środowiskach "nie webowych", tam naturalnym jest, że połączenie z bazą inicjuje się raz dla całej aplikacji;
pomyślałem więc sobie, że może podobne rozwiązanie można zastosować w aplikacjach WWW (inna sprawa, że w żadnej literaturze, z której korzystałem, nie znalazłem wyjaśnienia tej kwestii).
Jeszcze raz dzięki za odpowiedź smile.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-2025 Invision Power Services, Inc.