Ако по някаква, странна причина трябва да направите това, не използвайте dbname
параметър в dns. Вместо това използвайте драйвера на вашата база данни, за да го изберете вместо вас:
$dbh->query('use "newdatabase"'); // for mysql.
По този начин имате възможност да затворите името на базата данни с "
, така че можете да го назовете както и да е драйверът позволява . За MySQL за този конкретен сценарий това е "
символ, но това не означава, че е различен за PostgreSQL или Firebase.
Но този метод не е устойчив на куршуми, позволява само на PDO библиотеката да анализира DSN както обикновено, както не очаквам библиотеката на PDO, за да се справи с тази необичайна ситуация, тъй като единствената й цел е да взаимодейства с възможно най-много драйвери.
Специфичните за драйвера квоти не трябва да участват в PDO, така че наистина трябва да попитате драйвера за това, по този начин можете също да проверите дали заявката не успява да се изпълни.