【发布时间】:2017-03-16 07:10:28
【问题描述】:
我一直在阅读大量关于让我的 Unity 应用程序能够从 MySQL 数据库中检索数据的最佳方法。共识是为了安全起见,数据库连接应该在 PHP 中建立,然后 Unity 代码应该与 PHP 交互。
所以而不是:
Unity -> MySQL
我们有:
Unity -> PHP -> MySQL。
这一切都很好,但我并不真正担心我的应用程序的安全性。我正在为我在大学的最后一年做一个项目;它可以被视为内部软件,因此应用程序的用户也将拥有数据库。因此我不担心安全问题。
所以我只想让这个 Unity -> MySQL 连接正常工作。我觉得我已经很接近了,但遇到了一些错误,不知道从哪里开始。
我的数据库连接代码
public class TweetDAO {
private string connString;
public TweetDAO()
{
connString = "Server=localhost; Port=3306; Database=tweets; Uid=root; Pwd=root;";
}
public string ReadString(string query)
{
MySqlConnection conn = new MySqlConnection (connString);
string result = "";
try {
MySqlCommand command = conn.CreateCommand ();
MySqlDataReader reader;
command.CommandText = query;
conn.Open();
reader = command.ExecuteReader ();
while (reader.Read())
{
result = reader.GetValue(0).ToString();
}
}
catch (MySqlException ex) {
Debug.Log(ex.Message);
}
finally {
conn.Dispose ();
conn = null;
}
return result;
}
}
当我运行它时,我得到SocketException: Connection refused,异常消息是Unable to connect to any of the specified MySQL hosts.
我认为这一定是我的连接字符串有问题,但我尝试了很多不同的组合,但似乎没有任何效果。
如果能提供任何帮助,我将不胜感激。
谢谢! :)
【问题讨论】:
-
当您在浏览器中请求127.0.0.1/3306 时会发生什么?
-
@OscarLundberg 啊哈.. 嗯,当我转到 127.0.0.1:3306 时,我得到无法连接到服务器。 :\ 我在 Mac OSX 上为运行 MySQL 的服务器使用 MAMP。当我查看 phpMyAdmin 时,我正在连接到 localhost:8888/phpMyAdmin/…
-
那么您是否尝试将端口更改为 8888?
-
啊,这似乎奏效了。我就知道会是那样的小东西!谢谢你。如果您愿意,可以将其作为答案,我会接受。我现在遇到错误
Reading from the stream has failed.,但我认为这是我的数据库表和正在运行的查询的问题。谢谢:)
标签: mysql database unity3d database-connection monodevelop