sql >> Database teknologi >  >> RDS >> Mysql

PHP PDO initialisering mislykkes på grund af dobbelt port - Ufanget PDO Undtagelse:SQLSTATE[HY000] [2002]

showdevs kommentar er korrekt, at PDO DSN ikke tillader host:port syntaks.

Hvis dit CMS definerer DB_HOST uden for din kontrol, kan du ikke bruge denne konstant direkte. Men du kan trække information ud af det.

$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. Indfang udførelsesplanadvarsler ved hjælp af udvidede hændelser

  2. Skift fra SQLite til MySQL med Flask SQLAlchemy

  3. apostrof under indsættelse (Mysql)

  4. Hvorfor min pessimistiske låsning af JPA med Oracle ikke virker