Podręcznik PHP Poprzedni Następny LXIII. MySQL Funkcje te umożliwiają dostęp do serwerów baz danych MySQL. Więcej informacji o MySQL można znaleźć na stronie http: / /www.mysql.com /. Dokumentacja do MySQL znajduje się pod adresem http: / /www.mysql.com / documentation /. Wymagania Aby funkcje były dostępne, należy skompilować PHP z obsługą MySQL. Installation Podając opcję konfiguracyjną --with-mysql umożliwiasz PHP dostęp do baz MySQL. Jeśli użyjesz jej bez podania ścieżki do MySQL, PHP wykorzysta własne biblioteki klienta. W PHP4 obsługa MySQL jest zawsze włączona, więc jeśli nie podasz tej opcji, PHP również użyje wbudowanych bibliotek. Użytkownicy, którzy uruchamiają inne aplikacje korzystające z MySQL (na przykład równocześnie PHP3 i PHP4 jako moduły apache, lub moduł auth-mysql) powinni zawsze podawać ścieżkę do MySQL: --with-mysql= / sciezka / do / mysql. To wymusi na PHP użycie bibliotek zainstalowanych przez MySQL, co pozwoli uniknąć konfliktów. Ostrzeżenie Jeśli to rozszerzenie używane jest razem z rozszerzeniem recode, mogą występować awarie i problemy ze startem PHP. Więcej informacji znajduje się w rozdziale dotyczącym rozszerzenia recode. Konfiguracja Zachowanie funkcji MySQL zależy od ustawień w pliku konfiguracyjnym php.ini. Tabela 1. Opcje konfiguracyjne MySQL Nazwa Domyślnie Zmiana Oto krótki opis poszczególnych opcji konfiguracyjnych: Czy pozwalać na stałe połączenia z MySQL. Maksymalna liczba stałych połączeń MySQL na każdy proces. Maksymalna liczba połączeń MySQL na proces, włączając w to połączenia stałe. Domyślny numer portu TCP, który będzie użyty przy łączeniu się z serwerm baz danych, jeśli nie zostanie podany żaden inny. Jeśli nie będzie podany port domyślny, będzie on pobrany ze zmiennej środowiskowej MYSQL_TCP_PORT, wpisu mysql-tcp w pliku / etc / services lub podanej przy kompilacji opcji MYSQL_PORT, w tym właśnie porządku. Pod Win32 użyta będzie tylko stała MYSQL_PORT. Domyślna nazwa gniazda, które będzie użyte do łączenia się z lokalnym serwerem baz danych, jeśli nie zostanie podana żadna inna nazwa. Domyślny serwer, który będzie używany przy łączeniu się z bazą danych, jeśli nie zostanie podany żaden inny. Nie dotyczy trybu bezpiecznego. Domyślna nazwa użytkownika, która będzie używana przy łączeniu się z Nie dotyczy trybu bezpiecznego. Domyślne hasło, które będzie użyte przy łączeniu się z serwerem baz danych, jeśli nie zostanie podane żadne inne. Nie dotyczy trybu bezpiecznego. Rodzaje zasobów Moduł MySQL wykorzystuje dwa rodzaje zasobów. Pierwszym jest identyfikator połączenia z bazą danych, drugim zaś zasób wyniku, przechowujący rezultat zapytania. Predefiniowane stałe Funkcja mysql_fetch_array() używa stałych dla różnych typów tablic wynikowych. Zdefiniowane są następujące stałe: Tabela 2. Stałe pobierania MySQL stała znaczenie Kolumny są zwracane jako tablica, której indeks stanowią nazwy pól. Kolumny są zwracane jako tablica, indeksowana zarówno nazwami pól, jak i numerycznie. Kolumny są zwracane jako tablica indeksowana numerycznie. Indeks zaczyna się od 0 i wskazuje na pierwsze pole w wyniku. MYSQL_STORE_RESULT Wynik operacji MySQL jest buforowany. MYSQL_USE_RESULT Wynik operacji MySQL nie jest buforowany. Przykłady Ten prosty przykład demonstruje jak połączyć się, wykonać zapytanie, wyświetlić wyniki i rozłączyć się z bazą MySQL. Przykład 1. Wykorzystanie funkcji MySQL ?php / * Łączenie i wybranie bazy * / $link = mysql_connect( "localhost", "uzytkownik", "haslo") or die ("Nie można się połączyć"); print ("Połączenie nawiązane"); mysql_select_db ("baza") or die ("Nie mozna wybrać bazy danych"); / * Wysyłanie zapytania SQL * / $query = "SELECT * FROM tabela"; $result = mysql_query ($query) or die ("Zapytanie zakończone niepowodzeniem"); / * Wyświetlenie wyników w HTML * / print "table \n"; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {print "\t tr \n"; foreach ($line as $col_value) {print "\t\t td $col_value / td \n";} print "\t / tr \n";} print" / table \n"; / * Zwalnianie pamięci * / mysql_free_result($result); / * Rozłączanie * / mysql_close($link);? Poprzedni Spis treści Następny Początek rozdziału