0
所以我试图建立一个访问和写入数据库的PHP站点。这应该是相对简单的,但我已经陷入了一堆权限问题,我是PHP的新手,所以我不知道如何解决所有问题。需要帮助整理MySQL权限和连接
首先,试图访问数据库时出现这样的警告:
Warning: mysqli_connect(): The server requested authentication method unknown to the client [mysql_old_password]
连接也失败,因为这样的:
Warning: mysqli_connect(): (HY000/2054): The server requested authentication method umknown to the client
在我的研究,我发现这个警告是有关由于PHP版本化导致的密码哈希(link)
但是试图在该页面上运行解决方案时,出现以下错误:
Error Code: 1044. Access denied for user 'user'@'host' to database 'mysql'
而我不知道如何获得该数据库的权限。
这是我参考的PHP代码(敏感信息已删除):
$con=mysqli_connect("IP:port","user","password","database_name");
// Check connection
if (mysqli_connect_errno($con))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else
{
echo "Succesfully connected";
echo "<br />";
}
$result = mysqli_query($con, "SELECT * FROM OWNERS") or die("Error: ".mysqli_error($con));
while($row = mysqli_fetch_array($result))
{
echo $row['email'] . " " . $row['type'];
echo "<br />";
}
谁能帮我这一个?我知道这很多,但似乎所有问题都是相关的,我不知道从哪里开始修复它们。 (我使用XAMPP运行php和MySQL工作台来运行查询)
我使用的是一个hostgator数据库,我通过他们的服务创建了用户,但是当我通过工作台运行用户时,我的IP上。那是问题吗?我已使用SHOW GRANTS检查帐户的权限,并拥有完整权限。 – Hiero7 2013-04-05 20:54:05
但你能连接到从hostgator网络服务器的MySQL?可能是防火墙问题。打开mysql端口到互联网并让任何人尝试连接到它并不是一个好主意。 – 2013-04-05 20:56:06
hostgator只允许您创建数据库和用户,而不是修改它们。您可以在创建用户时授予权限并检查所有权限。您必须使用像mySQL workbench这样的外部应用程序来实际修改数据库。 – Hiero7 2013-04-05 21:03:32