Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Multipla Conexão Simultânea


osgregs

Pergunta

Olá a todos do fórum!

Gostaria de saber se alguém conhece uma forma de conectar simultâneamente dois BD no mesmo servidor MySQL ao mesmo tempo.

Exemplo de utilização:

Tenho um grande numero de tabelas e gostaria de separa-las em bancos de dados diferentes para organizar e administrar melhor.

Estou utilizando php e mysql .

Já dei uma olhada rápida no manual do php e encontrei isso

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "test");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

/* return name of current default database */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

/* change db to world db */
mysqli_select_db($link, "world");

/* return name of current default database */
if ($result = mysqli_query($link, "SELECT DATABASE()")) {
    $row = mysqli_fetch_row($result);
    printf("Default database is %s.\n", $row[0]);
    mysqli_free_result($result);
}

mysqli_close($link);
?>

mas não sei como isso pode me servir.

alguém aqui do fórum tem alguma idéia de isso ser feito??? :ph34r:

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Olá a todos do fórum!

Gostaria de saber se alguém conhece uma forma de conectar simultâneamente dois BD no mesmo servidor MySQL ao mesmo tempo.

...

alguém aqui do fórum tem alguma idéia de isso ser feito??? :ph34r:

Oi,osgregs!

Vou utilizar o usuário "my_user" de seu exemplo. Se este usuário possuir direito de acesso(GRANT) a todas as tabelas e todos os bancos (equivalente ao root, mas somente para os comandos INSERT,

DELETE, UPDATE e SELECT) você só necessita apontar o banco de dados em seus comandos DML.

Por exemplo:

Tenho os bancos BD_1 e BD2.

No BD_1, tenho as tabelas A_1 e A_2 e no BD_2 tenho as tabelas B_1 e B_2.

Se estou no banco BD_1 e desejo utilizar tabelas do BD_2 em um select, faço assim.

SELECT * FROM BD_2.B_1;

Se preciso relacionar tabelas do BD_1 com tabelas do BD_2 faço assim:

SELECT * FROM BD_1.A_1 a

INNER JOIN BD_2.B_1 b ON a.campo1 = b.campo1;

att

Denis Courcy

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado a todos que me ajudaram a solucionar esse problema.

Por incrível que pareça funcionou dessa forma meu script:

Ao invés de eu definir a tabela dessa forma

define ('TB_USUARIO','tabela_usuario');

Eu defini ela dessa forma

define ('TB_USUARIO','banco_de_dados.tabela_usuario');

E Voalá! funcionou.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...