未捕获的PDOException:SQLSTATE [HY000] [1045]用户'hri4wa1_db'@'localhost'的访问被拒绝(使用密码:是)

时间:2019-03-08 17:25:56

标签: pdo mariadb

大多数答案是,这将是一个正确的问题。但我认为在这种情况下不可以,因为mysql-connection仍然有效。

我正在尝试连接到我网络中服务器上的mariadb10
我正在尝试从本地主机连接。

如果我在终端中尝试:

myuser@mylocalComputer ~ $ mysql -h myserver -P 3307 -u mydbuser -pmyconfidentalpassword

一切正常!

但是,如果我尝试通过pdo通过php scrypt连接,则会收到错误消息:

<?php
$dsn = 'mysql: host=myserver:3307;dbname=mydbname';
$username = 'mydbuser';
$password = 'myconfidentalpassword';
$options = array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
); 
$dbh = new PDO($dsn, $username, $password, $options);
   if(! $dbh ) {
      die('Could not connect: ' . mysql_error());
   }

   $sql = 'select * from foo;';
   $retval = mysql_query( $sql, $conn );

   if(! $retval ) {
      die('Could not select data: ' . mysql_error());
   }

   echo "Synced data successfully\n";
   mysql_close($conn);

?>

错误是:

  

PHP致命错误:未捕获的PDOException:SQLSTATE [HY000] [1045]访问   在以下位置拒绝用户“ mydbuser” @“ localhost”(使用密码:是)   /home/myuser/Projekte/Hibiscus_extend/Hib_Nightly_sync.php:8


  

堆栈跟踪:

     
    

/home/myuser/Projekte/Hibiscus_extend/Hib_Nightly_sync.php(8):     PDO-> __ construct('mysql:host = myse ...','mydbuser',     'myconfidentalpassword',数组)

{main}被抛出     /home/hri4wa1/Projekte/Hibiscus_extend/Hib_Nightly_sync.php在第8行

  

我做错了什么,在哪里?

1 个答案:

答案 0 :(得分:1)

哦,哦,哦!
我找到了解决方案! 连接问题的原因只是$ dsn

中的空白

错误:
$ dsn ='mysql:主机= myserver:3307; dbname = mydbname';

效果很好
$ dsn ='mysql:host = myserver:3307; dbname = mydbname';