Pokud to z nějakého zvláštního důvodu potřebujete udělat, nepoužívejte dbname parametr v dns. Místo toho jej vyberte pomocí ovladače databáze:
$dbh->query('use "newdatabase"'); // for mysql.
Tímto způsobem máte možnost uzavřít název databáze pomocí " , takže jej můžete pojmenovat jakýkoli ovladač povoluje . Pro MySQL pro tento konkrétní scénář je to " znak, ale to neznamená, že se liší pro PostgreSQL nebo Firebase.
Ale tato metoda není neprůstřelná, umožňuje pouze knihovně PDO analyzovat DSN tak normálně, jak neočekávám knihovna PDO se s touto neobvyklou situací vyrovná, protože jejím jediným účelem je komunikovat s co největším počtem ovladačů.
Specifické povolenky pro řidiče by neměly být součástí PDO, takže byste o to měli řidiče skutečně požádat, tímto způsobem můžete také zkontrolovat, zda se dotaz nezdaří.