Se per qualche strano motivo devi farlo, non usare il dbname
parametro nel dns. Invece, usa il tuo driver di database per selezionarlo per te:
$dbh->query('use "newdatabase"'); // for mysql.
In questo modo, hai la possibilità di racchiudere il nome del database con "
, quindi puoi chiamarlo qualunque sia il driver consente . Per MySQL per questo scenario specifico è il "
carattere, ma ciò non significa che sia diverso per PostgreSQL o Firebase.
Ma questo metodo non è a prova di proiettile, consente solo alla libreria PDO di analizzare il DSN normalmente come non mi aspetto la libreria PDO per far fronte a questa situazione insolita poiché il suo unico scopo è interagire con quanti più driver possibile.
Le indennità specifiche del conducente non dovrebbero prendere parte al PDO, quindi dovresti davvero chiederlo al conducente, in questo modo puoi anche verificare se la query non viene eseguita.