【发布时间】:2016-09-19 07:36:38
【问题描述】:
我正在尝试制作一个简单的 HTML 表单,它将数据添加到远程托管的 My SQL 数据库中。我正在拔头发,因为我昨天制作的连接代码今天无缘无故停止工作。
这是我的代码:
<?php
$servername = "sql309.myservername.com";
$username = "myusername";
$password = "mypassword";
$dbname = "mydbname";
try {
$conn = new PDO("mysql:host=$servername;dbname=mydbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
?>
我得到的错误信息是: “连接失败:SQLSTATE[HY000] [1045] 用户 'myusername'@'an.ip.address' 的访问被拒绝(使用密码:YES)”
我注意到 phpmyadmin 将我的用户名列为“myusername@a.different.ip.address”,当我将用户名字符串替换为“myusername@a.different.ip.address”时,错误消息变为:
“连接失败:SQLSTATE[HY000] [1045] 用户'myusername@a.different.ip.address'@'an.ip.address'的访问被拒绝(使用密码:YES)”
如何告诉代码使用 'myusername'@'a.different.ip.address' ?还是有其他问题?
【问题讨论】:
-
您的 $conn 变量中有 dbname 为
dbname=mydbname。那不应该是你的变量dbname=$dbname吗? -
谢谢罗伯特,但这不是问题的根源