2017-03-15 1 views
0

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.

경우 ve는 이렇게 많은 다른 조합을 시도하고 아무것도 작동하는 것처럼 보이지 않는다.

매우 도움이 될 것입니다.

감사합니다. :)

+0

브라우저에서 http://127.0.0.1/3306을 요청하면 어떻게됩니까? –

+0

@OscarLundberg Aha .. 음 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

+0

에 접속하고있다. 포트 8888? –

답변

2

결론에서 언급했듯이 연결 문자열에 정의 된 포트는 서버 클라이언트의 포트 설정과 다릅니다. (XAMPP, WAMP 등)

이런 문제를 신속하게 테스트하는 가장 쉬운 방법은 수동으로 브라우저를 통해 확인하는 것입니다. 브라우저에서 무엇이 표시되는지에 따라 문제가 해결되지 않겠지 만 무엇이 어디서 잘못되었는지 파악할 수 있어야합니다.

+0

예이 팁 주셔서 감사합니다. 내게 혼란스러워하는 것은 MAMP가 "Use port 3306 for MySQL"이지만 MAMP 설정에서 실제로 포트 8889를 사용했다는 것입니다. 이제는 서버와 연결 문자열이 모두 일치하는지 확인해야합니다. – Redtama

관련 문제