• 05-01-2014, 12:07:36
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Herkeze kolay gelsin.

    benzer veritabanı yapısına ait 2 adet site olduğunu düşünün. Ancak bu siteleriden bir tanesini ana olduğunu diğerininde yedek olduğunu düşünün.
    Ben yedek olan sitenin mysql bağlantı foksiyonunda sadace product ve user tablolarını ana olan sitenin database inden çekmesini isteyeceğim. Bunu nasıl yapabilirim.
    işlemi aşağıdaki koda hangi kodları ekleyerek yapabilirim.


    <?php
    mysql_connect('localhost', 'root', '')or die("Bağlantı Kurulamadı");
    mysql_select_db('yedek')or die('Veritabanı Bulunamadı');
    
    ?>
  • 05-01-2014, 12:09:00
    #2
    Sanırım çekeceğiniz yerlerden önce ana siteye bağlanıp sonra tekrar küçük siteye bağlanıcaksınız. Daha önce hiç denemediğim birşey olduğu için aklıma sadece bu geldi.
  • 05-01-2014, 12:24:37
    #3
    çalışmayı yedek site üzerinde yapacağım. tüm veriler yedek database den. ama sadece product ve user tablolarının çağrelacağı yer ise ana database olması gerekiyor.
  • 05-01-2014, 13:29:55
    #4
    Hocam 2 sitede yani ana ve yedek aynı hosttalar mı yoksa farklı farklı host'da mı barınıyorlar ?
  • 05-01-2014, 15:04:07
    #5
    farklı hostlarda barındığını düşünmeliyim. çünkü ileride ayrılabilir. ama şuan aynı sunucuda.
  • 05-01-2014, 15:13:05
    #6
    Farkli hostta ise 2. mySQL DB, remote connection iznine sahip olmalisin, sonrasinda islem yapmak icin ise;

    <?php
    $connection = mysql_connect('locahost', 'user', 'password');
    mysql_select_db('database', $connection);
    
    $connection2 = mysql_connect('locahost', 'user2', 'password2');
    mysql_select_db('database2', $connection2);
    
    # Sorgulariniz 1. DB icin
    mysql_query("SELECT * FROM tablo", $connection);
    
    # Sorgulariniz 2. DB icin
    mysql_query("SELECT * FROM tablo", $connection2);
    ?>
  • 05-01-2014, 16:08:58
    #7
    verdiğiniz örneğe göre aşağıdaki şekilde yapmaya çalıştım ama çalışmadı. daha doğrusu yine ana siteden aldı product_description ve product tablolarını.
    ben testsite_site db sinden almasını isyiroum bu tabloları.



    define('DB_DRIVER', 'mysql');
    define('DB_HOSTNAME', 'localhost');
    define('DB_USERNAME', 'anasite_site');
    define('DB_PASSWORD', '123456');
    define('DB_DATABASE', 'anasite_site');
    define('DB_PREFIX', '');
    
    $connection = mysql_connect('testsite.com', 'testsite_site', '123456');
    mysql_select_db('testsite_site', $connection);
     
    $connection2 = mysql_connect('testsite.com', 'testsite_site', '123456');
    mysql_select_db('testsite_site', $connection2);
     
    # Sorgulariniz 1. DB icin
    mysql_query("SELECT * FROM product", $connection);
     
    # Sorgulariniz 2. DB icin
    mysql_query("SELECT * FROM product_description", $connection2);
  • 05-01-2014, 16:18:44
    #8
    Fonksiyonel calismalisin
    Pcde olsam yazardim fakat kisaca mantik olarak
    Function db1(){
    Mysql connect ve mysql select db
    }
    Function db2(){
    Ayni sekil ikinci icin
    }
    Sonrasinda verileri yine ozel fonkaiyonlardan cekeceksin yoksa olmayacaktir
    Yukarida arkadasin versiginin calismamasinin sebebi
    Mysql select db fonkaiyonudur. Once 1. İcin kullanip sonra 2. İcin kullanmis dogal olarak ilk kullandigi es gecilip ikincisini gorecek.
  • 05-01-2014, 16:36:02
    #9
    gulendam adlı üyeden alıntı: mesajı görüntüle
    verdiğiniz örneğe göre aşağıdaki şekilde yapmaya çalıştım ama çalışmadı. daha doğrusu yine ana siteden aldı product_description ve product tablolarını.
    ben testsite_site db sinden almasını isyiroum bu tabloları.



    define('DB_DRIVER', 'mysql');
    define('DB_HOSTNAME', 'localhost');
    define('DB_USERNAME', 'anasite_site');
    define('DB_PASSWORD', '123456');
    define('DB_DATABASE', 'anasite_site');
    define('DB_PREFIX', '');
    
    $connection = mysql_connect('testsite.com', 'testsite_site', '123456');
    mysql_select_db('testsite_site', $connection);
     
    $connection2 = mysql_connect('testsite.com', 'testsite_site', '123456');
    mysql_select_db('testsite_site', $connection2);
     
    # Sorgulariniz 1. DB icin
    mysql_query("SELECT * FROM product", $connection);
     
    # Sorgulariniz 2. DB icin
    mysql_query("SELECT * FROM product_description", $connection2);
    Çünkü 2 mysql_select_db de aynı veritabanına bağlanmış durumda.