PHP mysql PDO连接'用户'@'@ localhost'

时间:2015-10-13 15:11:13

标签: php mysql pdo

我不知道为什么,但在尝试连接时使用PDO MYSQL:

$host='localhost';
$db='contratos';
$user='contratos';
$password='!!contratos';
$link = new \PDO("mysql:host={$host};dbname={$db};charset=utf8", $user, $password);

PDO尝试连接在主机之前添加额外的@:

  

PDOException:SQLSTATE [HY000] [1045]在C:\ wamp \ www \ contratos \ classes \ mysql.php上的'contratos'@'@ localhost'(mot de passe:OUI)第154行

我正在使用外部类来处理所有mysql查询,但是,在它正常工作之前,我的代码都没有被修改。

这是PHP,MYSQL,PDO还是什么错误/错误?

编辑:我正在尝试连接,而不是创建用户或授予任何权限,我无法通过PHP连接,但我可以使用MySQL Workbench进行连接

2 个答案:

答案 0 :(得分:2)

char' @'在错误消息中是针对fr_FR语言环境的PDO的转换错误。 所以你需要忽略这个过时的char并调查你的mysql用户的权限。

答案 1 :(得分:-2)

这对我有用:

$link = new \PDO("mysql:dbname=$db;host=$host", $user, $password, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));