Stronę tą wyświetlono już: 3951 razy
PHP dostarcza niezbędnych funkcji do tworzenia połączenia z bazą danych mySql-a wraz z funkcją umożliwiającą wysyłanie zapytań do takowej bazy oraz z serią funkcji związanych z przetwarzaniem danych zawartych w danej tabeli bazy danych. W tym miejscu postanowiłem wymienić tylko kilka z nich.
Do połączenia się z bazą danych będą potrzebne następujące stałe, które zależne są od ustawień użytkownika.
Łączenie się z bazą danych za pomocą przestarzałych funkcji PHP
Połączenie z bazą danych:
W powyższym kodzie wykorzystane zostały następujące funkcje:
$db = @mysql_connect(DBHOST, DBUSER, DBPASSWORD) OR die('Nie mogłem połączyć się z MySQL-em: ' . mysql_error() );
Powyższy fragment kodu używa funkcji @mysql_connect do nawiązania połączenia z mySql-em wynikiem czego powinien być uzyskany uchwyt bazy danych. Argumentami jest nazwa hosta zawarta w stałej DBHOST, nazwa użytkownika DBUSER oraz hasło DBPASSWORD. Gdy połączenie się nie powiedzie używana jest funkcja die, która wyświetli informacje o przyczynie zdarzenia poprzez wykorzystanie funkcji mysql_error().
@mysql_select_db(DBNAME) OR die('Nie udało mi się wybrać bazy danych: ' . mysql_error() );
Ustanawia połączenie z wybraną bazą danych DBNAME
mysql_query("SET NAMES utf8");
Funkcja mysql_query jest przeznaczona do wysyłania zapytań do bazy danych, w tym przypadku została wykorzystana do ustawienia sposobu kodowania danych pozyskiwanych z bazy danych (dzięki prawidłowemu kodowaniu powinny wyświetlać się polskie znaki).
Funkcja ta ma znacznie szersze zastosowania, gdyż może przesyłać dowolne zapytania do bazy danych, które spełniają warunki narzucone przez składnię zapytań mySql-a.
Typowym prostym przykładem zastosowania funkcji mysql_query jest użycie jej do uzyskania dostępu do danych zawartych w tabeli zawartej w bazie danych w sposób pokazany poniżej:
W powyższym kodzie za pomocą funkcji mysql_query uzyskany został uchwyt do rekordów tabeli o nazwie customers, z której wyciągnięte zostały pole name w kolejności rosnącej (fragment kodu zapytania ORDER BY name ASC). Zwrócony uchwyt został wykorzystany w pętli while, gdzie użyta została funkcja mysql_fetch_array w celu wyciągnięcia pojedynczego rekordu do tablicy asocjacyjnej zwróconej do zmiennej $line. Gdy nie ma dostępnego rekordu funkcja zwraca false. Po uzyskaniu dostępu do rekordu za pomocą funkcji echo wyświetlany jest element tablicy asocjacyjnej $line['name'].
Istnieje również możliwość pozyskiwania liczby zwróconych rekordów poprzez zastosowanie funkcji mysql_num_rows w następujący sposób:
Kończenie połączenia z bazą danych mySql wykonuje się za pomocą następującego kodu:
Łączenie się z bazą danych za pomocą obiektu MySQLi w PHP
Nawiązywanie połączenia z bazą danych:
Wypisywanie zawartości tablicy zawartej w bazie danych:
Kończenie połączenia z bazą danych: