Hoje vi que há pouco material sobre como fazer o PHP conectar-se a dois servidores/bancos diferentes do MySQL… Então vamos direto ao ponto:
<?php
// Primeiro servidor
$banco1 = mysql_connect('127.0.0.1', 'root', '');
mysql_select_db('banco', $banco1);
// Segundo servidor
$banco2 = mysql_connect('127.0.0.2', 'root', '');
mysql_select_db('banco', $banco2);
// Terceiro servidor
$banco3 = mysql_connect('127.0.0.3', 'root', '');
mysql_select_db('banco', $banco3);
// ...
// Consulta no 1° banco
$sql1 = mysql_query('SELECT * FROM `noticias`', $banco1);
// ... processa os dados ...
// Consulta no 2° banco
$sql2 = mysql_query('SELECT * FROM `noticias`', $banco2);
// ... processa os dados ...
// Consulta no 3° banco
$sql3 = mysql_query('SELECT * FROM `noticias`', $banco3);
// ... processa os dados ...
?>Espero que tenham gostado! ![]()
Você também vai gostar de ler:
- Conexão MySQL – Servidor Local e Externo
- Sistema de busca em PHP e MySQL com paginação
- Orientação a Objetos – Material Básico
- Manipulando dados do MySQL com o PHP
- Contador de visitas usando o MySQL
Postado em MySQL, PHP, Tutoriais
Com as tags Banco de Dados, Conexão, MySQL, PHP, Root, Scripts, Servidor, SQL
Escrito por Thiago Belem
Gostou desse artigo?
Não se esqueça de assinar o RSS e divulgue-o para o mundo:

Ola, nao estou conseguindo obter resultado…
preciso fazer um insert na tabela A ( banco de dados remoto, locaweb )
utilizando os dados da select da tabela B ( bando de dados local )
como proceder ?
@weber
Faça uma busca na tabela B e, dentro desse loop, vá inserindo os dados na tabela A.
Olá Thiago, Boa Tarde.
Parabéns pelo site.
Estou precisando muito de trabalhar com consultas em bancos de dados diferentes em uma mesma pagina. Esse seu artigo me ajudou bastante, mas estou com um problema.
Fiz as 3 conexões e fiz as 3 impressões em tela, conforme abaixo
O problema, é que o resultado na tela, é somente da ultima consulta, o $db3. As três colunas mostram o mesmo resultado.
O que fiz de errado? Pode me ajudar?
Agradeço a atenção antecipadamente.
Atenciosamente,
Oswaldo
@oswaldo
Se os três bancos estão no mesmo servidor você pode colocar o nome do banco na frente do nome da tabela, assim:
SELECT * FROM `banco1`.`noticias` WHERE 1 = 1Isso resolve?
ao fazer isso, deu erro nas linhas onde chamo os fetch_array
as consultas ficaram assim
$sql1 = mysql_query(‘SELECT * FROM `banco1`.`nome`’);
$sql2 = mysql_query(‘SELECT * FROM `banco2`.`nome`’);
$sql3 = mysql_query(‘SELECT * FROM `banco3`.`nome`’);
@Oswaldo
Ai você precisa verificar o seu banco, tabela e código PHP… Dessa forma (`banco1`.`nome`) eu sei que funciona
Thiago, já dei uma olhada geral mas nao to conseguindo achar o erro.
vou te mandar o codigo pra vc dar uma olhada.. é só teste, coisinha bem simples mesmo.
http://www.statusmodajovem.com.br/3bancos.txt
Veja se pode, claro, dar uma olhada e me dar uma possível força nisso ai.
Te agradeço desde já.
@Oswaldo
Infelizmente não tenho como te ajudar, parece um problema com o seu sistema/instalação/servidor.
ok, de qualquer forma, agradeço.
Vou upar para o server e fazer o teste lá, já que localhost não tá funfando..
Vlw e mais uma vez, parabéns pelo site.
Olá, Thiago, agora, como que eu faço para poder fazer uma consulta simultanea com dois bancos?, teria como você dar um exemplo?
Grato pela atenção!!!
@fbmarques
A consulta precisaria envolver o nome do banco ao lado da tabela, mais ou menos assim:
SELECT * FROM `banco1`.`tabela` AS a INNER JOIN `banco2`.`tabela` AS b ON a.`id` = b.`id`Olá Thiago. Parabéns pelo material!! Ótimas orientações!!
Você disponibilizou um exemplo de consulta envolvendo dois bancos mysql distintos, mas em um mesmo servidor. Como seria uma consulta similar, mas com os bancos em servidores distintos?! É possível?
Aguardo seu retorno.
@Alessandro
O post fala exatamente sobre isso… Usar bancos diferentes em servidores diferentes.
Isso é muito prático e tem muita gente que não sabe que isso é possível. Boa dica! Uma sugestão de pauta relacionado a desempenho do Banco de Dados, tu podia escrever algo sobre triggers e índices no MySQL, não se encontra bons textos sobre isso por aí. Tem muito programador que não sabe o quanto se pode ganhar em desempenho usando bons índices e fazendo parte da aplicação direto no BD. Valeu t+
simples e útil
Bom cara…bastante interessante muito útil..