![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 23.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam na swojej stronie strukturę w postaci:
Otwórz połączenie z bazą - Sprawdź coś - zamknij połączenie - wypełnij formularz - otwórz połączenie z bazą - dodaj coś - zamknij połączenie z bazą. Czy jest to poprawne? Czy w jednym pliku powinno się otworzyć bazę tylko raz, na początku i zamknąć ją na końcu? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
PHP I tak zamyka połączenie z bazą po wykonaniu skryptu (a bynajmniej tak mnie uczono), więc możesz ale nie musisz go zamykać.
-------------------- Cytat There is a Bundle for that Lukas Kahwe Smith - October 31th, 2014 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 22 Dołączył: 10.02.2015 Ostrzeżenie: (0%) ![]() ![]() |
Ja też czytając o różnych metodach łączenia z bazą wszędzie byłem informowany że nie trzeba zamykać bo i tak php "zamknie" ale po każdym zapytaniu wypadało by zwolnić zestaw wyników (tak bynajmniej ja z tego wnioskowałem i tak robię) jeśli źle mówię to niech mnie ktoś poprawi
![]() -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 23.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedź. Uczę się z tutoriali na youtubie i tam właśnie w każdym pliku za każdym razem jest zamykane połączenie.
Skoro mowa o "zwolnieniu zestawu wyników" to chodzi tutaj o metodę close albo free? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Tak się nie robi. Tracisz wtedy czas na ponowne łączenie.
Jak już chcesz zwalniać zasoby to czymś pokroju: http://php.net/manual/pl/mysqli-result.free.php |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 376 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Przykładowe dane z profilera (baza postgres):
Kod 2.28ms connect 1.16ms SELECT... 0.73ms SELECT ... 1.09ms DELETE ... 1.13ms SELECT ... Jak widać connect ma najdłuższy czas. Jeśli zawsze zamykasz połączenie i robisz je od nowa, robisz to źle. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 4.05.2025 - 08:12 |