Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Inicjalizacja PHP PDO nie powiodła się z powodu podwójnego portu - Nieprzechwycony wyjątek PDO:SQLSTATE[HY000] [2002]

Komentarz showdev jest poprawny, że PDO DSN nie zezwala na składnię host:port.

Jeśli Twój CMS definiuje DB_HOST poza Twoją kontrolą, nie możesz użyć tej stałej bezpośrednio. Ale możesz wyciągnąć z tego informacje.

$host_port = preg_replace('/:(\d+)/', ';port=${1}', DB_HOST);
$db = new PDO("mysql:host={$host_port};dbname=".DB_NAME.";charset=utf8", 
    DB_USER, DB_PW, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskaj tylko cyfry za pomocą regexp

  2. jak zmienić nazwę schematu w MySQL?

  3. Zaktualizuj wiele wierszy za pomocą znanych kluczy bez wstawiania nowych wierszy, jeśli zostaną znalezione nieistniejące klucze

  4. Czy potrzebuję połączenia php mysql w każdej funkcji korzystającej z bazy danych?

  5. Pobieranie znaków specjalnych z bazy danych MySQL za pomocą PHP