Symfony2 / Doctrine2 - 在密码中转义特殊字符

时间:2014-11-21 11:37:30

标签: php symfony doctrine-orm

如何通过Doctrine转义我用于数据库连接的密码?

我的密码是“@”,Symfony2会给我这个错误:

SQLSTATE[28000] [1045] Access denied for user 'user'@'server' (using password: YES)

密码是正确的,除了我的Symfony2项目

之外它无处不在

1 个答案:

答案 0 :(得分:1)

包含非字母数字字符的字符串可以使用单引号或双引号进行转义:

parameters:
    database_password: "my:pass@word!"

如果你想使用以&#34开头的字符串; @"如The Book - Service Container中所述,你必须在另一个" @"之前逃避它。

因此,如果您的密码是" @ mypassword":

parameters:
    password1: "@mypassword"  # Will not work
    password2: "@@mypassword" # Will work

这是必需的,因为字符串以单个" @"开头。用作服务标识符。