• 04-07-2023, 18:07:54
    #1
    Unity de mysql ile remote veritabanına unity editör içinden bağlanbiliyorum.Fakat APK alıp telefonuma atınca bağlanmıyor.Sorun ne olabilir ?
  • 04-07-2023, 19:07:27
    #2
    Uzak veritabanına direkt bağlantı kurarsan veritabanını ele geçirirler,Api servis yazıp öyle kullanmalısın, bağlantı sorunu herşey olabilir, log yazıp hata kodlarına bakabilirsin.
  • 04-07-2023, 20:20:00
    #3
    APİ servis derken PHP mi kullanayım Api servis olarak ?.Kod bu şekilde

    public string Connect()
    {
    string result = string.Empty;
    connectedDatabase = false;

    MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
    builder.Server = Host;
    builder.UserID = User;
    builder.Password = Password;
    builder.Database = Database;

    try
    {
    using (connection = new MySqlConnection(builder.ToString()))
    {
    if (connection.State != ConnectionState.Open)
    {
    connection.Open();
    }

    connectedDatabase = true;
    result = "Succes";
    }
    }
    catch (MySqlException exception)
    {
    result = exception.Message;
    }
    finally
    {
    result = "Finally";
    }

    return result;
    }
  • 04-07-2023, 21:13:03
    #4
    Temel61 adlı üyeden alıntı: mesajı görüntüle
    APİ servis derken PHP mi kullanayım Api servis olarak ?.Kod bu şekilde

    public string Connect()
    {
    string result = string.Empty;
    connectedDatabase = false;

    MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
    builder.Server = Host;
    builder.UserID = User;
    builder.Password = Password;
    builder.Database = Database;

    try
    {
    using (connection = new MySqlConnection(builder.ToString()))
    {
    if (connection.State != ConnectionState.Open)
    {
    connection.Open();
    }

    connectedDatabase = true;
    result = "Succes";
    }
    }
    catch (MySqlException exception)
    {
    result = exception.Message;
    }
    finally
    {
    result = "Finally";
    }

    return result;
    }
    Server tarafında php ile yazabilirsin, unity tarafında linkle istek atarsın gelen verileri istediğin gibi kullanırsın. api servis konularını araştırabilirsin biraz yada api ile uğraşmak istemiyorsan daha kolayı firebase kullanabilirsin.
  • 04-07-2023, 22:31:30
    #5
    Verdiğiniz kod parçasında herhangi bir sentaks hatası bulunmamaktadır. Ancak, hata ayıklama amacıyla bazı iyileştirmeler yapılabilir

    public string Connect()
    {
        string result = string.Empty;
        connectedDatabase = false;
    
        MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
        builder.Server = Host;
        builder.UserID = User;
        builder.Password = Password;
        builder.Database = Database;
    
        try
        {
            using (connection = new MySqlConnection(builder.ToString()))
            {
                if (connection.State != ConnectionState.Open)
                {
                    connection.Open();
                }
    
                connectedDatabase = true;
                result = "Success";
            }
        }
        catch (MySqlException exception)
        {
            result = exception.Message;
        }
    
        return result;
    }
    Bu güncellenmiş kod, hata mesajlarını result değişkenine atar ve finally bloğunda gereksiz işlemleri ortadan kaldırır. Ayrıca, "Succes" yazım hatasını "Success" olarak düzeltir

    Örnek
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using System;
    using System.Data;
    using MySql.Data;
    using MySql.Data.MySqlClient;
    
    public class DatabaseManager : MonoBehaviour
    {
        public string host;
        public string user;
        public string password;
        public string database;
    
        private string connectionString;
    
        private void Start()
        {
            // Bağlantı dizesini oluştur
            connectionString = "Server=" + host + ";Database=" + database + ";Uid=" + user + ";Pwd=" + password + ";";
    
            // Bağlanmayı dene
            if (Connect())
            {
                Debug.Log("MySQL veritabanına bağlandı!");
            }
            else
            {
                Debug.LogError("MySQL veritabanına bağlanılamadı!");
            }
        }
    
        private bool Connect()
        {
            try
            {
                using (MySqlConnection connection = new MySqlConnection(connectionString))
                {
                    connection.Open();
                    return true;
                }
            }
            catch (Exception e)
            {
                Debug.LogError("Bağlantı hatası: " + e.Message);
                return false;
            }
        }
    }

    Bu örnek, host, user, password ve database değişkenlerini kullanarak MySQL veritabanına bağlanır. Start fonksiyonunda bağlantı denemesi yapılır ve sonucuna göre ilgili log mesajı gösterilir. Connect fonksiyonunda MySqlConnection sınıfını kullanarak bağlantı oluşturulur ve bağlantı durumu kontrol edilir. Bağlantı başarılı ise true, başarısız ise false döndürülür.
    Bu örneği kendi proje yapınıza uyarlayarak MySQL veritabanına bağlanma işlemini gerçekleştirebilirsiniz. Ancak, bağlantı bilgilerinizin doğru olduğundan ve MySQL bağlantı sürücüsünün projenize eklenmiş olduğundan emin olmanız gerekmektedir.
  • 05-07-2023, 13:36:32
    #6
    Aklıma şey geldi.
    Acaba diyorum db ye sadece sunucudanmı erişim verdi? Dopalolarak mobil iplerde ulaşamayacak.