php - Symfony2/Doctrine 2 - 转义密码中的特殊字符

标签 php symfony doctrine-orm

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

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

SQLSTATE[28000] [1045] 用户 'user'@'server' 的访问被拒绝(使用密码:YES)

密码正确,除了我的 Symfony2 项目外,它在任何地方都有效

最佳答案

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

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

如果您想使用以“@”开头的字符串,您必须在另一个“@”之前对其进行转义,如The Book - Service Container 中所述.

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

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

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

关于php - Symfony2/Doctrine 2 - 转义密码中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27060490/

相关文章:

php - 如何在 Symfony2 中的实体表单中添加额外的非实体字段

php - Symfony 3 - 没有合适的 CSPRNG

javascript - symfony 中 PHP 文件的路径

php - Symfony:持久化嵌入表单并避免重复条目

php - 表单到 iframe 提交 - 文件上传后如何重置表单?

php - 在没有准备好的语句或大量字符串操作的情况下使用 Query 会不安全且错误吗?

php - laravel中使用groupBy()函数求和查询

php - CakePdf 生成奇怪的代码而不是 pdf

php - 在 "anonymous"用户上存储数据

mysql - MySQL Doctrine ,我可以选择父类别和子类别中的所有产品吗?