![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 304 Pomógł: 0 Dołączył: 12.12.2006 Skąd: Pszów Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam pytanie odnośnie waszych metod obsługi połączeń z bazą (domyślnie mysql). Jak sobie z nimi radzicie. Zastanawiacie się o co dokładnie pytam? Zrozumiecie jak przeczytacie przykład poniżej.
wiedząc, że ta i kilka innych funkcji w tym skrypcie korzysta w różnoraki sposób z bazy (dodawanie, kasowanie, sprawdzanie itp). Jak poradzilibyście sobie z tym połączeniem. Czy po pętli while trzeba jakoś wywalać dane resource, albo ręcznie zamykać połączenia? A może coś jeszcze? Chodzi mi o poprawne pisanie takich właśnie funkcji, nastawiam się na szybki i zoptymalizowany kod. Nie wiem czy jasno napisałem o co mi chodzi, bo czasem myślę dość chaotycznie ![]() Czy np po whilu dawać mysql_close(); ? ma to sens skoro te połączenia i tak się zamkną po zakończeniu tego skryptu... Z góry dziękuje i pozdrawiam -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 79 Pomógł: 12 Dołączył: 23.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Najlepszym wyjściem jest korzystanie z własnej klasy do obsługi połączeń z bazą danych. Wtedy połączenie jest nawiązywane w odpowiednim momencie, tuż przed wykonaniem pierwszego zapytania. Połączenie z bazą danych zamykam po wykonaniu wszystkich akcji, ale przed wykonaniem widoku.
-------------------- ![]() |
|
|
![]()
Post
#3
|
|
![]() Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
Ja osobiście korzystam z inkluzji pliczku odpowiedzialnego za łączenie z bazą. Dla mnie jest to wygodne wystarczy zmienić w jednym pliczku i jest wszędzie. Jako że nie potrzebuje żadnych wodotrysków to rozwiązanie mnie wystarcza.
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 304 Pomógł: 0 Dołączył: 12.12.2006 Skąd: Pszów Ostrzeżenie: (0%) ![]() ![]() |
no ja niestety jestem zatwardziałym strukturowcem, nie lubię pracować na klasach, chodź czasem muszę (proszę mnie tylko nie namawiać, bo problem taki że wiele skryptów jest już napisanych i nie mam czasu ich przerabiać).
Rozumiem, czyli jednak zamykać wszystko po użyciu bazy. Czyli tylko to? zamykać zawsze i nic więcej? -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli nie programujesz obiektowo to nie masz zbyt wielu możliwości. Najprościej chyba tak:
- na samym początku skryptu dołączyć plik posiadający dane do bazy, spróbować się z nią połączyć i obsłużyć błąd jeżeli się to nie uda - wykonywać zapytanie do bazy bezpośrednio przez mysql_query($zapytanie), albo pofatygować się z doprowadzeniem uchwytu do bazy w każdej funkcji ją wykorzystującej (i dołączać do mysql_query) - jak już Ci zależy na małym z użyciu pamięci, używaj mysql_free_result() po pobraniu danych z zapytania: http://pl.php.net/manual/pl/function.mysql-free-result.php - nie zamykać połączenia z bazą danych (bo po co?). Możesz nawet zamiast mysql_connect na początku użyć mysql_pconnect który utworzy szybsze, stałe połączenie z bazą danych. -------------------- XMPP: l0ud@chrome.pl
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:32 |