我该如何将我的Unity3D应用程序连接到Mac OSX上的MySQL数据库
我一直在阅读大量有关让我的Unity应用程序能够从MySQL数据库检索数据的最佳方法。一致意见认为,出于安全考虑,数据库连接应该在PHP中设置,然后Unity代码应该与PHP进行交互。我该如何将我的Unity3D应用程序连接到Mac OSX上的MySQL数据库
所以不是:
团结 - > MySQL的
我们:
团结 - > 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.
我想,这一定只是有毛病我的连接字符串,但我已经尝试了很多不同的组合,似乎没有任何工作。
我将非常感谢任何帮助。
谢谢! :)
正如我们在评论中得出的结论,问题是连接字符串中定义的端口不同于服务器客户端中的端口设置。 (XAMPP,WAMP等)
快速测试这样的问题最简单的方法是我认为通过浏览器手动检查它。虽然它不会解决任何问题,但根据浏览器中显示的内容,您应该能够弄清楚什么地方出了问题。
是的,谢谢你的提示。令我困惑的是,MAMP说“使用MySQL的端口3306”,但在MAMP设置中它实际上使用的是8889端口。现在我明白我需要确保服务器和连接字符串都是一致的:) – Redtama
当您在浏览器中请求http://127.0.0.1/3306时会发生什么? –
@OscarLundberg啊哈..当我去127.0.0.1:3306我很好,无法连接到服务器。 :\我在Mac OSX上为我的服务器运行MySQL使用MAMP。当我看着phpMyAdmin时,我连接到http:// localhost:8888/phpMyAdmin /?lang = en#PMAURL-0:index.php?db =&table =&server = 1&target =&token = f87f04abd37b68623fda35adc7077365 – Redtama
因此,您是否尝试更改端口为8888? –