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

Conexão com duas bases Diferentes


alex.xavier35

Pergunta

Bom dia gostaria de saber como faço para me conectar com duas bases diferentes no mysql tipo intranet e curriculo

por exemplo tentei fazer isto

config.php

<?php

// Sistema de curriculo
// Base = MySQL

$Host= "localhost";   //<----aqui você deve configurar o caminho para o host


// curriculo
$Bd= "curriculo";  //não mude
$User= "username";   //<---------aqui você deve colocar o usuario do mysql
$Pswd= "12345";  //<---------aqui você deve colocar a senha do mysql  //$Nivel= "";
?>
config1.php
<?php

// Sistema de intranet
// Base = MySQL

$Host= "localhost";   //<----aqui você deve configurar o caminho para o host


// intranet
$Bd= "intranet";  //não mude
$User= "username";   //<---------aqui você deve colocar o usuario do mysql
$Pswd= "12345";  //<---------aqui você deve colocar a senha do mysql

?>
arquivo.php
<?php

    include "config.php";
    include "config1.php";
    
         mysql_connect($Host,$User,$Pswd);
         mysql_select_db($Bd);
         mysql_connect($Host,$User,$Pswd);
         mysql_select_db($Bd);
         $sQuery = " select *
         from   curriculo.chamados, intranet.jos_users
         where jos_users.username = chamados.nome";

    $oUsers = mysql_query($sQuery) OR DIE (mysql_error());
    echo mysql_error;
    $num_registros = mysql_num_rows($oUsers);
?>
só que ao rodar ele me gera o seguinte erro
Access denied for user 'userintranet'@'localhost' to database 'helpdesk'
O que eu preciso é fazer uma compração entre os dois bancos verificando o nome Exemplo
$sql = "SELECT * FROM cadastro (BD Curriculo), users(BD intranet) WHERE cadastro.nome= users.username";

Gostaria de contar com a colaboração de vocês

Obrigado

Alex

Editado por alex.xavier35
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Se tivesse consultado o manual...

Tirado das contribuições:

james at gogo dot co dot nz

16-Jan-2004 09:45

Be carefull if you are using two databases on the same server at the same time. By default mysql_connect returns the same connection ID for multiple calls with the same server parameters, which means if you do

<?php

$db1 = mysql_connect(...stuff...);

$db2 = mysql_connect(...stuff...);

mysql_select_db('db1', $db1);

mysql_select_db('db2', $db2);

?>

then $db1 will actually have selected the database 'db2', because the second call to mysql_connect just returned the already opened connection ID !

You have two options here, eiher you have to call mysql_select_db before each query you do, or if you're using php4.2+ there is a parameter to mysql_connect to force the creation of a new link.

Ou seja, você faz duas conexões com nomes diferentes (observe o que o usuário falou acima) e depois na query chama a variável da conexão correspondente...

mysql_query('SELECT * WHERE 1=1', $db1);
ou
mysql_query('SELECT * WHERE 1=1', $db2);

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...