Uyarı: mysql_xx
php 5.5'ten beri işlevler kullanımdan kaldırılmıştır ve php 7.0'dan beri kaldırılmıştır (bkz. Http://php.net/manual/intro.mysql.php ), mysqli_xx
işlevleri kullanın veya @Troelskn'dan aşağıdaki cevaba bakın
Birden fazla çağrı yapabilirsiniz mysql_connect()
, ancak parametreler aynıysa ' $new_link
' (dördüncü) parametre için true değerini iletmeniz gerekir , aksi takdirde aynı bağlantı yeniden kullanılır. Örneğin:
$dbh1 = mysql_connect($hostname, $username, $password);
$dbh2 = mysql_connect($hostname, $username, $password, true);
mysql_select_db('database1', $dbh1);
mysql_select_db('database2', $dbh2);
Sonra veritabanı 1 sorgulamak için ilk bağlantı tanımlayıcı geçmek:
mysql_query('select * from tablename', $dbh1);
ve veritabanı 2 için ikinciyi geçin:
mysql_query('select * from tablename', $dbh2);
Bir bağlantı tanımlayıcısını geçmezseniz, oluşturulan son bağlantı kullanılır (bu durumda temsil ettiği bağlantı $dbh2
) örn .:
mysql_query('select * from tablename');
Diğer seçenekler
MySQL kullanıcısı her iki veritabanına da erişebiliyorsa ve aynı ana bilgisayardaysa (yani her iki DB'ye de aynı bağlantıdan erişilebilir):
- Bir bağlantıyı açık tutun ve
mysql_select_db()
gerekirse aralarında geçiş yapmak için arayın . Bu temiz bir çözüm olduğundan emin değilim ve yanlış veritabanı sorgulama sona erebilir.
- Sorgularınızdaki tablolara başvururken veritabanı adını belirtin (örn.
SELECT * FROM database2.tablename
). Bu muhtemelen bir acıdır.
Ayrıca troelskn'ın cevabını da okuyun çünkü eski uzantılardan ziyade PDO kullanabiliyorsanız daha iyi bir yaklaşımdır.