Jump to content
Fórum Script Brasil
  • 0

Conexão com duas bases Diferentes


alex.xavier35

Question

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

Edited by alex.xavier35
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.6k
×
×
  • Create New...