PDO_MYSQL to sterownik, który implementuje interfejs PHP Data Objects (PDO), aby umożliwić dostęp z PHP do baz danych MySQL. Podczas uruchamiania PHP w wersji wcześniejszej niż 7.1.16 lub PHP 7.2 wcześniejszej niż 7.2.4, ustaw domyślną wtyczkę hasła serwera MySQL 8 na mysql_native_password, w przeciwnym razie zobaczysz błędy podobne do: Serwer zażądał metody uwierzytelniania nieznanej klientowi [caching_sha2_password], nawet jeśli caching_sha2_password nie jest używany. Dzieje się tak, ponieważ MySQL 8 domyślnie używa caching_sha2_password, wtyczki, która nie jest rozpoznawana przez starsze wersje PHP (mysqlnd). Zamiast tego zmień to, ustawiając w . Wtyczka caching_sha2_password będzie obsługiwana w przyszłej wersji PHP. W międzyczasie rozszerzenie mysql_xdevapi to obsługuje. Ostrzeżenie Uwaga: niektóre typy tabel MySQL (silniki pamięci masowej) nie obsługują transakcji. Podczas pisania kodu transakcyjnej bazy danych przy użyciu typu tabeli, który nie obsługuje transakcji, MySQL będzie udawał, że transakcja została pomyślnie zainicjowana. Ponadto wszelkie wysłane zapytania DDL będą pośrednio oznaczać wszelkie oczekujące transakcje. Sterownik MySQL nie obsługuje poprawnie PDOStatement::bindParam, podczas gdy takie parametry mogą być używane, nie są one aktualizowane (tzn. rzeczywiste dane wyjściowe są ignorowane) Powszechne dystrybucje systemu Unix zawierają binarne wersje PHP, które można zainstalować. Chociaż te wersje binarne są zwykle budowane z obsługą rozszerzeń MySQL, może być konieczne zainstalowanie samych bibliotek rozszerzeń przy użyciu dodatkowego pakietu. Sprawdź dostępność w menedżerze pakietów dołączonym do wybranej dystrybucji. Na przykład w systemie Ubuntu pakiet instaluje rozszerzenia PHP ext/mysql, ext/mysqli i PDO_MYSQL. W CentOS pakiet instaluje również te trzy rozszerzenia PHP. Alternatywnie możesz samodzielnie skompilować to rozszerzenie. Budowanie PHP ze źródeł umożliwia określenie rozszerzeń MySQL, których chcesz używać, a także wybór biblioteki klienckiej dla każdego rozszerzenia. Podczas kompilacji użyj opcji --with-pdo-mysql[=DIR], aby zainstalować rozszerzenie PDO MySQL, gdzie opcjonalna jest podstawowa biblioteka MySQL. Mysqlnd jest biblioteką domyślną. Aby uzyskać szczegółowe informacje na temat wybierania biblioteki, zobacz Wybieranie biblioteki MySQL. Opcjonalnie --with-mysql-sock[=DIR] ustawia lokalizację na wskaźnik gniazda unix MySQL dla wszystkich rozszerzeń MySQL, w tym PDO_MYSQL. Jeśli nie zostanie określony, przeszukiwane są lokalizacje domyślne. Opcjonalnie --with-zlib-dir[=DIR] służy do ustawienia ścieżki do prefiksu instalacji libz. Obsługa SSL jest włączana przy użyciu odpowiednich stałych PDO_MySQL, co jest równoznaczne z wywołaniem funkcji MySQL C API mysql_ssl_set Ponadto SSL nie może być włączony za pomocą PDO::setAttribute, ponieważ połączenie już istnieje. Zobacz także dokumentację MySQL o ÃÂû łączeniu się z MySQL przez SSL Poniższe stałe są definiowane przez ten sterownik i będą dostępne tylko wtedy, gdy rozszerzenie zostało wkompilowane w PHP lub dynamicznie ładowane w czasie wykonywania. Ponadto te stałe specyficzne dla sterownika powinny być używane tylko wtedy, gdy używasz tego sterownika. Używanie atrybutów specyficznych dla sterownika z innym sterownikiem może spowodować nieoczekiwane zachowanie. PDO::getAttribute() może być użyte do uzyskania atrybutu do sprawdzenia sterownika, jeśli twój kod może działać na wielu sterownikach. w sterowniku MySQL użyje buforowanych wersji interfejsu API MySQL. Jeśli piszesz przenośny kod, powinieneś zamiast tego użyć. Jeśli ten atrybut jest ustawiony na a, sterownik MySQL użyje buforowanych wersji interfejsu API MySQL. Jeśli piszesz przenośny kod, powinieneś zamiast tego użyć. Przykład #1 Wymuszanie buforowania zapytań w mysql „moja aplikacja działa tylko z mysql; zamiast tego powinienem użyć \$stmt->fetchAll()” Uwaga, ta stała może być używana tylko w tablicy podczas konstruowania nowego uchwytu bazy danych. Umożliwia ograniczenie ładowania DANYCH LOKALNYCH do plików znajdujących się w tym wyznaczonym katalogu. Dostępne od PHP 8.1.0. Uwaga: ta stała może być użyta tylko w tablicy podczas konstruowania nowego uchwytu bazy danych. Polecenie do wykonania podczas łączenia się z serwerem MySQL. Zostanie automatycznie ponownie wykonany po ponownym połączeniu. Uwaga: ta stała może być użyta tylko w tablicy podczas konstruowania nowego uchwytu bazy danych. Czytaj opcje z nazwanego pliku opcji zamiast z . Ta opcja nie jest dostępna, jeśli używany jest mysqlnd, ponieważ mysqlnd nie odczytuje plików konfiguracyjnych mysql. Odczytaj opcje z nazwanej grupy z lub z pliku określonego za pomocą . Ta opcja nie jest dostępna, jeśli używany jest mysqlnd, ponieważ mysqlnd nie odczytuje plików konfiguracyjnych mysql. Maksymalny rozmiar bufora. Domyślnie 1 MiB. Ta stała nie jest obsługiwana podczas kompilacji z mysqlnd. Zwraca liczbę znalezionych (dopasowanych) wierszy, a nie liczbę zmienionych wierszy. Ścieżka pliku do urzędu certyfikacji SSL. Ścieżka pliku do katalogu zawierającego zaufane certyfikaty SSL CA, które są przechowywane w formacie PEM. Ścieżka pliku do certyfikatu SSL. Lista jednego lub więcej dozwolonych szyfrów do szyfrowania SSL, w formacie zrozumiałym dla OpenSSL. Na przykład: ścieżka pliku do klucza SSL. Umożliwia wyłączenie weryfikacji certyfikatu SSL serwera. To istnieje od PHP 7.0.18 i PHP 7.1.4. Wyłącza wykonywanie wielu zapytań zarówno w PDO::prepare() jak i PDO::query(), gdy jest ustawione na . Uwaga: ta stała może być użyta tylko w tablicy podczas konstruowania nowego uchwytu bazy danych Na zachowanie tych funkcji mają wpływ ustawienia w . Aby uzyskać więcej informacji i definicje trybów PHP_INI_*, zobacz Aby uzyskać więcej informacji i definicje trybów PHP_INI_*, zobacz Gdzie można ustawić ustawienie konfiguracyjne Ustawia gniazdo domeny Unix. Tę wartość można ustawić w czasie kompilacji, jeśli gniazdo domeny zostanie znalezione w konfiguracji. To ustawienie ini dotyczy tylko systemu Unix. Włącza debugowanie dla PDO_MYSQL. To ustawienie jest dostępne tylko wtedy, gdy PDO_MYSQL jest kompilowane z mysqlnd iw trybie debugowania PDO.