PHP constants cannot be instantiated within a string; you need to concatenate them to the string, or, in the case of your user and password fields, just reference the constant:
$db = new PDO("mysql:hostname=" . DB_HOST . ";dbname=" . P_DB, DB_USER, DB_PASSKEY);
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…