Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 3 Dołączył: 7.12.2007 Ostrzeżenie: (0%)
|
Tworzę coś w rodzaju frameworka/silnika, jakkolwiek by tego nie określić.
Używa się go po prostu wczytując interfejs za pomocą require_once. No i mam schodki, ponieważ ten skrypt używa połączenia z bazą danych. Żeby zaoszczędzić czas, skrypt łączy się z bazą jeśli nie wykryje istniejącego połączenia i wykonuje kolejne zapytania nie rozłączając się po każdym. Problem w tym, że nie mam zielonego pojęcia jak wykryć kiedy skrypt który będzie tego silnika używał zakończy swoje działanie, czyli de facto nie mam pojęcia kiedy rozłączyć się z bazą. Połączenia stałe raczej nie wchodzą tutaj w grę. Klasa obsługująca bazę wygląda mniej więcej tak: Kod class data { private static $connId; private static function connect() { self::$connId = mysql_connect(server, user, pass); mysql_select_db(baza, self::$connId); } public static function disconnect() { if (self::$connId) mysql_close(self::$connId); } public static function getObject($id) { if (!self::$connId) self::connect(); //Tutaj zapytania i return } } Kiedy mam użyć funkcji disconnect()? Może jest jakaś opcja rozłączenia z bazą na koniec wykonywania skryptu? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%)
|
PHP domyślnie kończy połączenie z bazą po ukończeniu skryptu. Wyjątkiem jest użycie funkcji mysql_pconnect(). Sam stosujesz mysql_connect, więc połączenie zostanie zakończone. Nigdy nie ma sensu ręcznego rozłączania się z bazą.
...a jak już byś bardzo chciał, możesz umieścić mysql_close() w destruktorze (wywoła się na końcu skryptu). |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 3 Dołączył: 7.12.2007 Ostrzeżenie: (0%)
|
Wow, super, wielkie dzięki za błyskawiczną odpowiedź (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
|
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 19:43 |