ggb 0 Denunciar post Postado Maio 5, 2012 Boa Tarde pessoal, Precisava fazer um programa em que ele consulta 2 bancos de dados diferentes, primeiro ele faria um select no primeiro banco, caso nao esteja disponivel ele consultaria o segundo banco. não acho em lugar nenhum para fazer isso, se alguem puder me da rum help, fico agradecido Obrigado ^^ Compartilhar este post Link para o post Compartilhar em outros sites
Uerlen Santos 15 Denunciar post Postado Maio 5, 2012 Crie duas conexões: //----------> Conexão 1 <------------------- $host1 = 'localhost'; $dbuser1 = 'user'; $dbpassword1 = '*****'; $dbname1 = 'seu_bd'; $conexao1 = @mysql_connect($host, $dbuser, $dbpassword, true) or die ("Não foi possível conectar-se ao servidor MySQL"); $db1 = @mysql_select_db($dbname) or die ("Não foi possível selecionar o banco de dados $dbname"); //----------> Conexão 2 host externo ------- $host2 = '255.255.255.255'; //ip do host externo $dbuser2 = 'user'; $dbpassword2 = '*****'; $dbname2 = 'bd_externo'; $conexao2 = @mysql_connect($host, $dbuser, $dbpassword, true) or die ("Não foi possível conectar-se ao servidor MySQL externo"); $db2 = @mysql_select_db($dbname) or die ("Não foi possível selecionar o banco de dados externo $dbname"); //------------------------------------------ Repare que na segunda conexão existe um valor True no mysql_connect para que ele não sobrescreva a conexão anterior.. Aí é só indicar qual conexão ira utilizar no mysql_query. Ex.: $sql = mysql_query("string",$conexao1) ou $sql = mysql_query("string",$conexao2) http://www.php.net/manual/pt_BR/function.mysql-connect.php Att Uerlen Santos "Não somos obrigados a saber tudo, porem muito que não sabemos o google consegue resolver... hehe" Compartilhar este post Link para o post Compartilhar em outros sites
ggb 0 Denunciar post Postado Maio 5, 2012 ok, é mais ou menos isso que eu preciso. mas ai que tá, eu preciso que ele só de um query no banco 2 se o banco 1 falhar, me entende? estou vendo n maneira aqui, caso consiga posto uma resposta. Compartilhar este post Link para o post Compartilhar em outros sites
cristian_web 15 Denunciar post Postado Maio 6, 2012 //----------> Conexão 1 <------------------- $host1 = 'localhost'; $dbuser1 = 'user'; $dbpassword1 = '*****'; $dbname1 = 'seu_bd'; $conexao1 = @mysql_connect($host, $dbuser, $dbpassword, true) or die ("Não foi possível conectar-se ao servidor MySQL"); $db1 = @mysql_select_db($dbname) or die ("Não foi possível selecionar o banco de dados $dbname"); //----------> Conexão 2 host externo ------- $host2 = '255.255.255.255'; //ip do host externo $dbuser2 = 'user'; $dbpassword2 = '*****'; $dbname2 = 'bd_externo'; $conexao2 = @mysql_connect($host, $dbuser, $dbpassword, true) or die ("Não foi possível conectar-se ao servidor MySQL externo"); $db2 = @mysql_select_db($dbname) or die ("Não foi possível selecionar o banco de dados externo $dbname"); //------------------------------------------ $sql = mysql_query("SELECT * FROM tabela where id='$_GET[id]' LIMIT 1", $conexao1); $row = mysql_num_rows($sql); if($row!=1){ $sql = mysql_query("SELECT * FROM tabela where id='$_GET[id]' LIMIT 1", $conexao2); $row = mysql_num_rows($sql); } if($row==1){ //EXECUTA O CODIGO NORMALMENTE... mysql_fetch_array($sql); }else{ //Registro inexistente... ERRO } Compartilhar este post Link para o post Compartilhar em outros sites
ggb 0 Denunciar post Postado Maio 7, 2012 Como eu não entendo muito bem de programação, ali você deu um select nos ids e ele só pega 1 registro do banco ? se não houver nenhuma linha no primeiro ele vai pro segundo ?! Obrigado pela paciencia e coperação, tem me ajudado muito assim como sou iniciante. =D Compartilhar este post Link para o post Compartilhar em outros sites
Uerlen Santos 15 Denunciar post Postado Maio 7, 2012 Poderia também testar direto se a conexão existe //----------> Conexão 1 <------------------- $host1 = 'localhost'; $dbuser1 = 'user'; $dbpassword1 = '*****'; $dbname1 = 'seu_bd'; $conexao1 = @mysql_connect($host, $dbuser, $dbpassword, true) or die ("Não foi possível conectar-se ao servidor MySQL"); $db1 = @mysql_select_db($dbname) or die ("Não foi possível selecionar o banco de dados $dbname"); if(!$conexao1){//Se a conexão1 não existir executa a conexão 2 e lá lá, aí voce faz o que precisar //----------> Conexão 2 host externo ------- $host2 = '255.255.255.255'; //ip do host externo $dbuser2 = 'user'; $dbpassword2 = '*****'; $dbname2 = 'bd_externo'; $conexao2 = @mysql_connect($host, $dbuser, $dbpassword, true) or die ("Não foi possível conectar-se ao servidor MySQL externo"); $db2 = @mysql_select_db($dbname) or die ("Não foi possível selecionar o banco de dados externo $dbname"); //------------------------------------------ }else{ //Use esse else se precisar executar algum código que dependa apenas da conexão 1 } Att Uerlen Santos Compartilhar este post Link para o post Compartilhar em outros sites
ggb 0 Denunciar post Postado Maio 7, 2012 //----------> Conexão 1 <------------------- $host1 = '10.0.0.10:6000'; $dbuser1 = 'root'; $dbpassword1 = 'root'; $dbname1 = 'tf'; $conexao1 = @mysql_connect($host, $dbuser, $dbpassword, true) or die ("Não foi possível conectar-se ao servidor MySQL"); $db1 = @mysql_select_db($dbname) or die ("Não foi possível selecionar o banco de dados $dbname"); //----------> Conexão 2 host externo ------- $host2 = '10.0.0.10:6500'; //ip do host externo $dbuser2 = 'root'; $dbpassword2 = 'root'; $dbname2 = 'tf'; $conexao2 = @mysql_connect($host, $dbuser, $dbpassword, true) or die ("Não foi possível conectar-se ao servidor MySQL externo"); $db2 = @mysql_select_db($dbname) or die ("Não foi possível selecionar o banco de dados externo $dbname"); //------------------------------------------ $sql = mysql_query("SELECT * FROM aluno where id='$_GET[num_matricula]' LIMIT 1", $conexao1); $row = mysql_num_rows($sql); if($row!=1){ $sql = mysql_query("SELECT * FROM aluno where id='$_GET[num_matricula]' LIMIT 1", $conexao2); $row = mysql_num_rows($sql); } if($row==1){ while ($row = mysql_fetch_array($sql)){ echo $row['num_matricula']."-"$row['nome']."-"$row['matricula']."-"$row ['ano']; echo <br/>; //EXECUTA O CODIGO NORMALMENTE... mysql_fetch_array($sql); } }else{ //Registro inexistente... ERRO } ?> bom, segui o código do nosso amigo, mas não funcionou, podem me dizer se há algum erro no codigo ?! Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 7, 2012 load-balance... http://www.oracle.com/technetwork/articles/dsl/white-php-part1-355135.html Compartilhar este post Link para o post Compartilhar em outros sites
ggb 0 Denunciar post Postado Maio 7, 2012 Uerlen, se segui o seu exemplo e deu certo, muito obrigado pela ajuda, sou um cara mais voltado pra redes e programação não é muito a minha praia. Hinom, brigado pela dica também, se precisar fazer n conexões essa seria uma melhor alternativa Muito obrigado a todos que me ajudaram. Compartilhar este post Link para o post Compartilhar em outros sites