我一直在阅读大量关于让我的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.
我认为这对我的连接字符串来说一定是错的,但是我已经尝试了很多不同的组合,似乎没什么用。
如果有任何帮助,我将非常感激。
谢谢! :)
答案 0 :(得分:2)
正如我们在评论中总结的那样,问题是连接字符串中定义的端口与服务器客户端中的端口设置不同。 (XAMPP,WAMP等)
我认为快速测试此类问题的最简单方法是通过浏览器手动检查。虽然它不会解决任何问题,但根据浏览器中显示的内容,您应该能够找出出错的地方或位置。