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

Backup Através Do Código


Guest - Thiago -

Pergunta

Guest - Thiago -

Pessoal,

Estou tentando fazer um backup do banco de dados através do codigo, so que ele gera o arquivo .sql em branco (sem informações), e quando executo pelo DOS ele gera certo, so que preciso desse que é feito pelo codigo, pois quem vai fazer é o usuário....

Fiz dessa maneira....

<?

$con = mysql_connect ("localhost","root","");

if (!$con){

echo "Houve um erro na conexão com o servidor:" . mysql_error();

exit;

}

mysql_select_db("maria_eulina",$con);

if(!$con){

echo "Houve um erro na conexão com o banco de dados:" . mysql_error();

exit;

}

shell_exec("mysqldump -uroot maria_eulina > backup.sql");

echo ('<p align="center"><font face="verdana" size="2">Backup efetuado com sucesso</p></font>')

?>

Valeu a ajuda....

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

só que você precisa executar esse comando onde estiver o aplicativo mysqldump...

Aí você nem precisa conectar ao db, e ao invés do shell_exec, utilize o system(comando)...

Tipo: o mysqldump fica no C:\mysql\bin

Aí você utliza o system assim:

system("C:\\mysql\\bin\\mysqldump....");

Nem testei isso, ve e posta aí dispois...

Até+

cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0

eu tava com esse problema...

mas ai achei uma solulçao na internet:

<?
	mysql_connect("localhost","usuario","senha") or die(mysql_error());  
	mysql_select_db("seu banco") or die(mysql_error()); 
	$arquivo = fopen("backup.sql","w"); 
	// Pega a lista de todas as tabelas 
	$res = mysql_list_tables("seu banco") or die(mysql_error()); 
	while ($row = mysql_fetch_row($res)) { 
  $table = $row[0]; // cada uma das tabelas 
  $res2 = mysql_query("SHOW CREATE TABLE $table"); 
	while ( $lin = mysql_fetch_row($res2)){ // Para cada tabela 
  fwrite($arquivo,"-- Criando tabela: $table\n"); 
  fwrite($arquivo,"$lin[1]\n--Dump de Dados\n"); 
  $res3 = mysql_query("SELECT * FROM $table"); 
	while($r=mysql_fetch_row($res3)){ // Dump de todos os dados das tabelas 
  $sql="INSERT INTO $table VALUES ('"; 
  $sql .= implode("','",$r); 
  $sql .= "')\n"; 
	fwrite($arquivo,$sql); 
	} 
	} 
	} 
	fclose($arquivo); 
?>

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...