Funkcje MySQL PHP
- Poprzednia strona PHP Math
- Następna strona PHP MySQLi
Wprowadzenie do PHP MySQL
Funkcje MySQL pozwalają na dostęp do serwera bazy danych MySQL.
Instalacja
Aby móc korzystać z funkcji tej klasy, musisz dodać wsparcie dla MySQL podczas kompilacji PHP.
Podczas kompilacji wystarczy użyć opcji konfiguracyjnej --with-mysql[=DIR], gdzie opcjonalny [DIR] wskazuje na katalog instalacji MySQL.
Choć ta biblioteka rozszerzenia MySQL jest kompatybilna z wersjami MySQL 4.1.0 i nowszymi, nie obsługuje dodatkowych funkcji dostępnych w tych wersjach. Aby użyć tych funkcji, użyj biblioteki rozszerzenia MySQLi.
Jeśli chcesz zainstalować bibliotekę rozszerzenia mysql i mysqli, musisz użyć tej samej biblioteki klienta, aby uniknąć konfliktów.
Instalacja na systemie Linux
PHP 4
Domyślnie włączono opcję --with-mysql. To zachowanie domyślne można zablokować za pomocą opcji konfiguracyjnej --without-mysql. Jeśli włączysz MySQL, ale nie określisz katalogu instalacji, PHP użyje przypisanej biblioteki klienta połączeń MySQL.
Użytkownicy innych aplikacji używających MySQL (np. auth-mysql) nie powinni używać przypisanej biblioteki, ale określić katalog instalacji MySQL, np. --with-mysql=/ścieżka/do/mysql. To zmusi PHP do użycia klienta połączeń biblioteki zainstalowanej z MySQL, co pozwoli uniknąć konfliktów.
PHP 5+
MySQL domyślnie nie jest włączony, ani nie ma przypisanej biblioteki MySQL. Użyj opcji konfiguracyjnej --with-mysql[=DIR], aby dodać wsparcie dla MySQL. Możesz to zrobić z MySQL Pobierz pliki nagłówkowe i biblioteki.
Instalacja na systemie Windows
PHP 4
Rozszerzenie PHP MySQL jest skompilowane do PHP.
PHP 5+
MySQL domyślnie nie jest włączony, więc musi być aktywowany dynamiczny biblioteka łączenia php_mysql.dll w pliku php.ini. Dodatkowo, PHP musi mieć dostęp do biblioteki klienta połączeń MySQL. Wydanie Windows PHP zawiera libmysql.dll, aby PHP mógł komunikować się z MySQL, ten plik musi być umieszczony w ścieżce systemowej PATH Windows.
Aby aktywować jakąkolwiek bibliotekę rozszerzenia PHP (np. php_mysql.dll), instrukcja PHP extension_dir musi być ustawiona na katalog, w którym znajduje się biblioteka rozszerzenia. Przykład wartości extension_dir w PHP 5 to c:\php\ext.
Komentarz:Jeśli podczas uruchamiania serwera WWW pojawia się błąd podobny do następującego: "Unable to load dynamic library './php_mysql.dll'", to oznacza, że system nie znalazł pliku php_mysql.dll i/lub libmysql.dll.
Konfiguracja w czasie działania
Zachowanie funkcji MySQL jest wpływowane przez ustawienia w php.ini.
Opcje konfiguracji MySQL:
Nazwa | Domyślnie | Opis | Można zmienić |
---|---|---|---|
mysql.allow_persistent | "1" | Czy zezwolić na trwałe połączenia MySQL? | PHP_INI_SYSTEM |
mysql.max_persistent | "-1" | Maksymalna liczba trwałych połączeń w każdym procesie. | PHP_INI_SYSTEM |
mysql.max_links | "-1" | Maksymalna liczba połączeń w każdym procesie, w tym trwałe połączenia. | PHP_INI_SYSTEM |
mysql.trace_mode | "0" | Tryb śledzenia. Dostępne od PHP 4.3.0. | PHP_INI_ALL |
mysql.default_port | NULL | Określenie domyślnego portu TCP połączenia z bazą danych. | PHP_INI_ALL |
mysql.default_socket | NULL | Domyślna nazwa socket. Dostępne od PHP 4.0.1. | PHP_INI_ALL |
mysql.default_host | NULL | Domyślny adres serwera. Nie stosuje się do trybu bezpiecznego SQL. | PHP_INI_ALL |
mysql.default_user | NULL | Domyślna nazwa użytkownika. Nie stosuje się do trybu bezpiecznego SQL. | PHP_INI_ALL |
mysql.default_password | NULL | Domyślnie używane hasło. Nie stosuje się do trybu bezpiecznego SQL. | PHP_INI_ALL |
mysql.connect_timeout | "60" | Sekundy przekroczenia limitu połączenia. | PHP_INI_ALL |
Typ zasobów
W modułach MySQL używane są dwa typy zasobów. Pierwszy to handler połączenia do bazy danych, drugi to wynik zestawu zapytania SQL.
Funkcje MySQL PHP
PHP:Indykuje najstarszą wersję PHP, która obsługuje tę funkcję.
Funkcja | Opis | PHP |
---|---|---|
mysql_affected_rows() | Zwraca liczbę rekordów dotkniętych przez ostatnią operację MySQL. | 3 |
mysql_change_user() | Nie zalecane. Zmień aktywnego użytkownika w bieżącym połączeniu. | 3 |
mysql_client_encoding() | Zwraca nazwę kodowania znaków bieżącego połączenia. | 4 |
mysql_close() | Zamyka nieuporządkowaną połączenie MySQL. | 3 |
mysql_connect() | Otwiera nieuporządkowaną połączenie MySQL. | 3 |
mysql_create_db() | Nie zalecane. Utwórz nową bazę danych MySQL. Używaj mysql_query() zamiast. | 3 |
mysql_data_seek() | Przesuwa wskaźnik rekordów. | 3 |
mysql_db_name() | Zwraca nazwę bazy danych z wywołania mysql_list_dbs(). | 3 |
mysql_db_query() |
Nie zalecane. Wyślij zapytanie MySQL. Używaj mysql_select_db() i mysql_query() zamiast. |
3 |
mysql_drop_db() |
Nie zalecane. Usuń (skasuj) bazę danych MySQL. Użyj mysql_query() zamiast tego. |
3 |
mysql_errno() | Zwraca kod numeryczny błędu z ostatniej operacji MySQL. | 3 |
mysql_error() | Zwraca tekst błędu z ostatniej operacji MySQL. | 3 |
mysql_escape_string() |
Nie zalecane. Eksportuj ciąg znaków do mysql_query. Używaj mysql_real_escape_string() zamiast. |
4 |
mysql_fetch_array() | Pobiera wiersz z wyników jako tablicę skojarzoną, tablicę liczb lub obiekt, w zależności od ustawień. | 3 |
mysql_fetch_assoc() | Pobiera wiersz z wyników jako tablicę skojarzoną. | 4 |
mysql_fetch_field() | Pobiera informacje o kolumnach z wyników i zwraca je jako obiekt. | 3 |
mysql_fetch_lengths() | Zwraca długość zawartości każdego pola w wynikach. | 3 |
mysql_fetch_object() | Pobiera wiersz z wyników jako obiekt. | 3 |
mysql_fetch_row() | Pobiera wiersz z wyników jako tablicę liczb. | 3 |
mysql_field_flags() | Pobiera znaki związane z określonym polem z wyników. | 3 |
mysql_field_len() | Zwraca długość określonego pola. | 3 |
mysql_field_name() | Uzyskaj nazwę pola w wynikach. | 3 |
mysql_field_seek() | Ustaw wskaźnik wyników na określony offset pola. | 3 |
mysql_field_table() | Uzyskaj nazwę tabeli, w której znajduje się pole. | 3 |
mysql_field_type() | Uzyskaj typ pola w wynikach. | 3 |
mysql_free_result() | Wolnij pamięć wyników. | 3 |
mysql_get_client_info() | Uzyskaj informacje o kliencie MySQL. | 4 |
mysql_get_host_info() | Uzyskaj informacje o hostingu MySQL. | 4 |
mysql_get_proto_info() | Uzyskaj informacje o protokole MySQL. | 4 |
mysql_get_server_info() | Uzyskaj informacje o serwerze MySQL. | 4 |
mysql_info() | Uzyskaj informacje o ostatnim zapytaniu. | 4 |
mysql_insert_id() | Uzyskaj ID utworzone przez ostatnią operację INSERT. | 3 |
mysql_list_dbs() | Wyświetl wszystkie bazy danych na serwerze MySQL. | 3 |
mysql_list_fields() |
Nie popieram. Wyświetl pola w wynikach MySQL. Użyj mysql_query() zamiast tego. |
3 |
mysql_list_processes() | Wyświetl procesy MySQL. | 4 |
mysql_list_tables() |
Nie popieram. Wyświetl tabele w bazie danych MySQL. Użyj mysql_query() zamiast tego. |
3 |
mysql_num_fields() | Uzyskaj liczbę pól w wynikach. | 3 |
mysql_num_rows() | Uzyskaj liczbę wierszy w wynikach. | 3 |
mysql_pconnect() | Otwórz trwałe połączenie z serwerem MySQL. | 3 |
mysql_ping() | Pinguj połączenie serwera, jeśli połączenie nie istnieje, ponownie połącz. | 4 |
mysql_query() | Wysyłaj zapytania MySQL. | 3 |
mysql_real_escape_string() | Unikaj specyficznych znaków w ciągach używanych w zapytaniach SQL. | 4 |
mysql_result() | Uzyskaj dane wynikowe. | 3 |
mysql_select_db() | Wybierz bazę danych MySQL. | 3 |
mysql_stat() | Uzyskaj bieżący stan systemu. | 4 |
mysql_tablename() | Nie popieram. Uzyskaj nazwę tabeli. Użyj mysql_query() zamiast tego. | 3 |
mysql_thread_id() | Zwraca ID bieżącego wątku. | 4 |
mysql_unbuffered_query() | Wysyłanie zapytania SQL do MySQL (nie pobieranie / buforowanie wyników). | 4 |
Stałe PHP MySQL
W wersjach PHP 4.3.0 i nowszych, dozwolone jest określenie dodatkowych znaczników klienta w funkcjach mysql_connect() i mysql_pconnect():
PHP:Indykuje najwcześniejszą wersję PHP, która obsługuje tę stałą.
Stała | Opis | PHP |
---|---|---|
MYSQL_CLIENT_COMPRESS | Użycie kompresji protokołu komunikacji. | 4.3 |
MYSQL_CLIENT_IGNORE_SPACE | Dopuszczalne są puste miejsca po nazwie funkcji. | 4.3 |
MYSQL_CLIENT_INTERACTIVE | Niedziałalny czas oczekiwania na interakcję przed zamknięciem połączenia. | 4.3 |
MYSQL_CLIENT_SSL | Użycie szyfrowania SSL (dostępne tylko w wersji biblioteki klienta MySQL 4+). | 4.3 |
Funkcja mysql_fetch_array() używa stałej, aby określić typ zwracanej tablicy:
Stała | Opis | PHP |
---|---|---|
MYSQL_ASSOC | Zwracane dane kolumny używają nazw pól jako nazw indeksów tablicy. | |
MYSQL_BOTH | Zwracane dane kolumny używają nazw pól oraz liczbowych indeksów jako nazw indeksów tablicy. | |
MYSQL_NUM |
Zwracane dane kolumny używają liczbowego indeksu jako nazwy indeksu tablicy. Indeksy zaczynają się od 0, co oznacza, że zwracany jest pierwszy pola wyników. |
- Poprzednia strona PHP Math
- Następna strona PHP MySQLi