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

(Resolvido) Gravar uma tabela de bancos de dados distintos


Drandrão

Pergunta

Olá Galera

Seguinte, tenho 2 bancos em MySQL, um em um servidor e um local, aí o q eu quero fazer é copiar os dados de uma tabela q tenho no banco no meu servidor, para uma tabela identica, no meu computador...

O problema acho que está nos conecta, pois faço o select beleza, vejo os dados, mas quando vou inserir preciso conectar no outro banco, acho q aí dá o problema....Algeum tem uma solução???

Obrigado

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0
Você fechou uma coneção antes de abrir a outra?

O código q fiz foi esse

include_once("../conectaServidor.php");
$buscaDados = mysql_query("SELECT xxx, xxx, xxx, xxx
                                 FROM xxx");
                           
while ($dados=mysql_fetch_assoc($buscaDados)){
    include_once("../conecta.php");
    $gravaDados=mysql_query("INSERT INTO xxx (xxx, xxx, xxx, xxx)
                             VALUES ('$dados[xxx]','$dados[xxx]', '$dados[xxx]', '$dados[xxx]')");                 
    include_once("../conectaServidor.php");                         
    if ($gravaDados){
        
    }
    else{
        echo mysql_error();
    }
        
}

Então, é preciso fechar, o PHP não permite que você mantenha 2 conexões abertas.

Para fechar é o mysql_close() ???

Link para o comentário
Compartilhar em outros sites

  • 0
Nesse caso você está incluindo uma conexão, incluindo outra, e depois a primeira novamente, e como disse sem fechar.

Apenas feche uma antes de abrir a outra, utilize a função mysql_close();

Puxa não deu certo fechando não...

Ele não dá erro mas não grava nada...

include_once("../conectaServidor.php");
$buscaDados = mysql_query("SELECT xxx, xxx, xxx, xxx
                                 FROM xxx");
                          
while ($dados=mysql_fetch_assoc($buscaDados)){
    mysql_close();
    include("../conecta.php");
    $gravaDados=mysql_query("INSERT INTO xxx (xxx, xxx, xxx, xxx)
                             VALUES ('$dados[xxx]','$dados[xxx]', '$dados[xxx]', '$dados[xxx]')");  
    mysql_close();              
    include_once("../conectaServidor.php");                        
    if ($gravaDados){
        
    }
    else{
        echo mysql_error();
    }
        
}

O que será q pode estar errado???

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta fazer o while assim:colocando mysql_fetch_array

while ($dados=mysql_fetch_array($buscaDados)){
mysql_close();
include("../conecta.php");
$gravaDados=mysql_query("INSERT INTO xxx (xxx, xxx, xxx, xxx)
VALUES ('$dados[xxx]','$dados[xxx]', '$dados[xxx]', '$dados[xxx]')");
mysql_close();
include_once("../conectaServidor.php");
if ($gravaDados){

}
else{
echo mysql_error();
}

}

Link para o comentário
Compartilhar em outros sites

  • 0
Tenta fazer o while assim:colocando mysql_fetch_array

while ($dados=mysql_fetch_array($buscaDados)){
mysql_close();
include("../conecta.php");
$gravaDados=mysql_query("INSERT INTO xxx (xxx, xxx, xxx, xxx)
VALUES ('$dados[xxx]','$dados[xxx]', '$dados[xxx]', '$dados[xxx]')");
mysql_close();
include_once("../conectaServidor.php");
if ($gravaDados){

}
else{
echo mysql_error();
}

}

Tbém não vai com mysql_fetch_array.... Mais alguém tem uma sugestão???

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, não sei se é isso, porém você está incluindo os arquivos de conexão com include_once, ou seja, se já existirem como é o caso ele não vai incluir.

A partir do momento que eles foram inclusos uma vez na página, não precisa incluir denovo, apenas abra a conexão novamente.

Quando mudar de uma conexão para outra, fecha a que está aberta e abra a outra.

Dê uma olhada também na sua lógica, você está abrindo conexão dentro do loop, ou seja, inumeras conexões estão sendo abertas repetidamente, arrume primeiro esses pequenos porém muito importante detalhes.

Ai vamos "afunilando" as coisas para chegarmos a uma possível solução! ;)

Link para o comentário
Compartilhar em outros sites

  • 0

Na hora de fazer a conexão...

$conecta = mysql_connect("$servidor", "$nome_usuario", "$senha_usuario") or die (mysql_error());
mysql_select_db("$nome_do_banco",$conecta) or die (mysql_error());

$conecta2 = mysql_connect("$servidor2", "$nome_usuario2", "$senha_usuario2") or die (mysql_error());
mysql_select_db("$nome_do_banco2",$conecta2) or die (mysql_error());
Na hora de executar a query...
$sql = mysql_query("...",$conecta);

$sql2 = mysql_query("...",$conecta2);

Link para o comentário
Compartilhar em outros sites

  • 0
Bom, não sei se é isso, porém você está incluindo os arquivos de conexão com include_once, ou seja, se já existirem como é o caso ele não vai incluir.

A partir do momento que eles foram inclusos uma vez na página, não precisa incluir denovo, apenas abra a conexão novamente.

Quando mudar de uma conexão para outra, fecha a que está aberta e abra a outra.

Dê uma olhada também na sua lógica, você está abrindo conexão dentro do loop, ou seja, inumeras conexões estão sendo abertas repetidamente, arrume primeiro esses pequenos porém muito importante detalhes.

Ai vamos "afunilando" as coisas para chegarmos a uma possível solução! ;)

Opa, deu certo aqui....

era isso mesmo, tinha muita tranqueira na estrutura de repetição....

Obrigado pela atenção...

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,3k
×
×
  • Criar Novo...