ďťż

[PHP/MySQL] Wygodniejsze łączenie z bazą Stosowanie mysql_close(), mysql_free_result()

       

Podstrony


telcocafe

W moich skryptach często odwołuję się do bazy danych MySQL. Nie zawsze wiem, czy mam z nią połączenie. Pomyślałem sobie, że stworzę klasę/funkcję, której argumentem będzie zapytanie SQL. Na początku będzie sprawdzała czy istnieje połaczenie z serwerem bazy danych, a potem będzie wykonywała ów zapytanie.

Problem polega na tym, że w ten sposób nie mam pomysłu jak kontrolować mysql_free_result() i mysql_close(). Wiem, że po zakończeniu wykonywania skryptu, połacznie zostanie zakończone automatycznie i pamięć opróżniona. Niemniej jednak czy w czasie wykonywania skryptu nie spowolni to jego działania/zmuli serwera? Czy macie jakieś inne sposoby na stworzenie własnego systemu kontroli nad połączniem z MySQL?



zrób sobie klasę do obsługi bazy, wewnątrz której obiekt (OO) lub uchwyt do bazy będzie łatwy w manipulacji. Przykłady:
http://www.php.rk.ed...erzenie-mysqli/
http://www.php.rk.ed...ejs-baz-danych/

No OK, ale mi głownie chodziło o odpowiedź na pytanie, czy niestosowanie mysql_close() i mysql_free_result() nie bedzie miało negatywnego wpływu na wydajność.

@mysql_close() możesz wykonywać na końcu skryptu, a mysql_free_result() możesz pominąć - zasoby będą "zwolnione" przy wykonaniu kolejnego zapytania.




@mysql_close() możesz wykonywać na końcu skryptu
Mam powiedzmy taką sytuację:
łączę się z bazą na początku wykonywania skryptu, potem mam jakies warunki, które wykonują header('Location:...'). Isnieje także możliwość dalszego wykonania skryptu bez przekierowywania przeglądarki. W ten sposób "nie wiem gdzie mi się kończy skrypt w praktyce". Czy w ten sposób muszę dodać mysql_close() przed każdym header('Location:...') czy mogę sobie darować?

możesz dać na samym końcu każdego pliku php, który jest wykorzystywany (nie te inkludowane, tylko finalne) @ zapobiegnie wywalaniem błędów gdyby połączenia nie było. Ale jak close nie będzie to też wielka krzywda nie powinna się stać.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.