我有一个在我的桌面程序更新的服务器上运行的数据库。我的程序是用 C# 编写的,我可以使用 Mysql 连接器很好地连接。
private void Initialize()
{
server = "xxx.com";
database = "test01";
uid = "user";
password = "pass";
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" +
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
connection = new MySqlConnection(connectionString);
}
我希望能够在我的网站上使用 PHP 脚本从我的数据库中检索一些数据,但我什至无法通过相同的连接信息获得与我的数据库一起使用的简单连接。我对 php 不是很熟悉,我希望我只是犯了一个愚蠢的错误:)
$con = mysql_connect("xxx.com","user","pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
这一直在死去...有人可以告诉我我在做一些愚蠢的事情并告诉我如何解决它吗?
提前致谢, 主耶稣
编辑: 我不断收到的错误是: 无法连接:在“读取初始通信数据包”时与 MySQL 服务器失去连接,系统错误:110
编辑#2: 我的“用户”已经被授予对“%”的访问权限,这应该涵盖所有 IP。当我运行 phpinfo();我得到了很多信息,包括一个名为 mysql 的部分,那里有信息。
已解决...还是未解决? 好的,我想我知道它为什么失败了。我的网站托管在 one.com,与他们的一位支持者聊天后我了解到他们不允许连接到远程数据库,只允许连接到我域中的数据库。这不是我想要的。所以我没有解决它,但我发现了为什么会出现该错误。现在我需要找到一种方法来解决这个问题......
最佳答案
在我看来你的环境如下:你的桌面有一个 C# 程序,你的 MySQL 服务器位于另一台机器上,最后还有一个独立的网络服务器,不连接到这些系统中的任何一个。如果是这种情况,您需要从 Web 服务器授予对数据库的权限。
以下将向您的网络服务器授予选择权限。
GRANT SELECT ON test01.* TO 'user'@'ip.of.the.webserver' IDENTIFIED BY 'pass';
关于mysql - 无法使用 PHP 连接到远程 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5464971/