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