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ří.