Hvis du af en eller anden mærkelig grund har brug for at gøre dette, skal du ikke bruge dbname
parameter i dns. Brug i stedet din databasedriver til at vælge den for dig:
$dbh->query('use "newdatabase"'); // for mysql.
På denne måde har du mulighed for at omslutte databasenavnet med "
, så du kan navngive den uanset driveren tillader . For MySQL for dette specifikke scenarie er det "
karakter, men det betyder ikke, at det er forskelligt for PostgreSQL eller Firebase.
Men denne metode er ikke skudsikker, den tillader kun PDO-biblioteket at parse DSN'et som normalt, som jeg ikke forventer PDO-biblioteket til at klare denne usædvanlige situation, da dets eneste formål er at interagere med så mange drivere som muligt.
Driverspecifikke tilladelser bør ikke deltage i PDO, så du bør virkelig bede chaufføren om dette, på denne måde kan du også kontrollere, om forespørgslen ikke kan udføres.