我将数据库的所有登录信息存储在公共树之外的文件中,例如
$hostname = '172.0.0.0';
$dbname = 'myname_mydbname';
$username = 'myname_user';
$pw = 'password';
Run Code Online (Sandbox Code Playgroud)
这是非常标准的.
问题是我正在使用的这个特定主机需要myname_附加到所有数据库和用户名的前面.当我存储这些字符串并将它们传递给PDO时,它会删除myname后的用户名中的所有内容,并将密码字符串全部放在一起...如果我将用户名和密码作为字符串而不是变量放在函数中,一切正常.我没办法.有人可以帮忙吗?这是函数,因为它在代码中.
不起作用:
$this -> DB = new PDO ("mysql:host={$hostname}; dbname={$dbname}", $username, $pw);
Run Code Online (Sandbox Code Playgroud)
作品:
$this -> DB = new PDO ("mysql:host={$hostname};dbname={$dbname}", 'myname_user', 'password');
Run Code Online (Sandbox Code Playgroud)
我希望有人在这里可以让我感到愚蠢......提前谢谢.-大卫
错误可能会有所帮助......
无法获得数据库句柄:SQLSTATE [28000] [1045]访问被拒绝用户'myname'@'localhost'(使用密码:否)