大多数答案是,这将是一个正确的问题。但我认为在这种情况下不可以,因为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行
我做错了什么,在哪里?
答案 0 :(得分:1)
哦,哦,哦!
我找到了解决方案!
连接问题的原因只是$ dsn
错误:
$ dsn ='mysql:主机= myserver:3307; dbname = mydbname';
效果很好
$ dsn ='mysql:host = myserver:3307; dbname = mydbname';