Mój skrypt połączeniowy wygląda następująco:
<?php #Połącz i wybierz bazę danych
// Stałe danych podstawowych
DEFINE ('DB_USER', 'uzytkownik_mysql');
DEFINE ('DB_PASSWORD', 'moje_haslo');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'nazwa_bazy');
// Połącz i wybierz
$dbc = @mysql_connect (DB_HOST, DB_USER, DB_PASSWORD)
OR die ('Nie mogłem się połączyć: ' . mysql_error() );
@mysql_select_db (DB_NAME) OR die ('Nie mogłem wybrać bazy danych: ' . mysql_error() );
?>
Najpierw zdefiniowałem 4 stałe - użytkownika, hasło, host i nazwę bazy danych. Moja baza danych znajduje się na tym samym serwerze co plik, więc jako host wpisałem "localhost".
Następnie posłużyłem się dwiema funkcjami: mysql_connect() i mysql_select_db(). Pierwsza służy do łączenia się z bazą danych, druga zaś do wybierania odpowiedniej bazy danych.
Jako argumenty funkcji mysql_connect() należy podać kolejno: host, użytkownika i hasło. Natomiast jako argument funkcji mysql_select_db() trzeba podać nazwę bazy danych. Obie funkcje poprzedziłem znakiem @, aby nie wyświetlały żadnych komunikatów.
Jeżeli coś pójdzie nie tak (funkcja zwróci błąd) zostanie wyświetlony komunikat zakończony treścią funkcji mysql_error(), która wyświetla komunikat błędu.
Dla bezpieczeństwa plik ze skryptem powinien mieć rozszerzenie *.php, np. db_connection.php. Plik ten powinien być umieszczony w innym katalogu niż katalog główny dla strony WWW, czyli przed katalogiem public_html, czy htdocs (w zależności od serwerów katalogi te mogą mieć różne nazwy jednak chodzi o to, żeby plik nie znajdywał się w katalogu ze stroną i był niedostępny dla innych).
Łączenie z bazą danych
Aby połączyć się z bazą danych należy odwołać się w jakiś sposób do wcześniej utworzonego pliku db_connection.php.
Tutaj proponuję użyć funkcji require_once(). Pozwoli ona zaciągnąć plik z połączeniem do dowolnego skryptu PHP tylko raz (nie podwoi połączenia). Plik z połączeniem musi być umieszczony przed instrukcjami odnoszącymi się do operacji na bazie danych. Jeżeli ujrzysz komunikat "Cannot choose the data base" (lub podobny) oznacza to, że albo w pliku db_connection.php podałeś złą nazwę bazy danych (jednak powinien wyświetlić się wtedy jeszcze komunikat "Nie mogłem wybrać bazy danych" zdefiniowany w tym pliku) albo w ogóle nie zaciągnąłeś tego pliku.
W funkcjach też musisz się jakoś odwołać do tego pliku. Jeżeli używasz połączenia z bazą tylko w funkcjach możesz używać require_once() bezpośrednio w nich. Jeżeli używasz funkcji sporadycznie, a reszta opiera się o połączenie z bazą danych - zalecam użycie zmiennej $dbc z oznaczeniem globlanym (tzn. w danej funkcji wpisz po prostu global $dbc).
Funkcja require_once() anuluje dalsze wykonywanie skryptów PHP jeśli zwróci błąd (np. plik nie istnieje).
Zamykanie połączenia
Do zamykania połączenia z bazą danych służy funkcja mysql_close(), którą pozostawiamy w miejscu, w którym chcemy, aby połączenie zostało zakończone (dodajemy średnik za nią - normalne wywołanie funkcji w PHP).
Przy normalnej konfiguracji serwera, połączenie z bazą danych zostanie zakończone w momencie zakończenia skryptu PHP. Mimo wszystko zaleca się stosowanie funkcji mysql_close().