Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como posso escapar caracteres especiais em uma string de conexão PDO?


Se por algum motivo estranho você precisar fazer isso, não use o dbname parâmetro no dns. Em vez disso, use seu driver de banco de dados para selecioná-lo para você:
$dbh->query('use "newdatabase"'); // for mysql.

Dessa forma, você tem a opção de incluir o nome do banco de dados com " , para que você possa nomeá-lo qualquer que seja o driver permite . Para MySQL para este cenário específico é o " mas isso não significa que seja diferente para PostgreSQL ou Firebase.

Mas esse método não é à prova de balas, apenas permite que a biblioteca PDO analise o DSN normalmente, como eu não espero a biblioteca PDO para lidar com essa situação incomum, pois seu único objetivo é interagir com o maior número possível de drivers.

As permissões específicas do driver não devem fazer parte do PDO, então você deve realmente pedir isso ao driver, desta forma você também pode verificar se a consulta não é executada.