2017-03-15 1 views
0

私は、UnityアプリケーションがMySQLデータベースからデータを取得できるようにするための最良の方法についてお読みになりました。合意は、セキュリティ上の目的で、PHPでデータベース接続を設定してから、UnityコードがPHPとやり取りする必要があるということです。Unity3DアプリケーションをMac OSXのMySQLデータベースに接続するには

ので、代わりの:

ユニティ - > MySQLの

我々は持っている:

ユニティ - > PHP - > MySQLを。

これは素晴らしいことですが、私のアプリのセキュリティが本当に心配ではありません。私は大学で最後の1年間のプロジェクトに取り組んでいます。内部ソフトウェアと見なすことができるものなので、アプリケーションのユーザーもデータベースを所有します。したがって私は安全保障に懸念がありません。

私が望むのは、この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に行くと、私はサーバーに接続できません。 :\私はMySQLを実行している私のサーバーのMac OSXで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が "MySQL用にポート3306を使用する"と言っていますが、実際にはMAMP設定ではポート8889を使用していました。今ではサーバと接続文字列が一致していることを確認する必要があります。 – Redtama

関連する問題