NO

[php/sql]backup De Seu Banco De Dados

Por Nostradamus, 04 de mai. de 2007 em Tutoriais de Websites

otserv
10
3.5k
NostradamusN
04 de maio de 2007 às 18:40

Muitas vezes, dados são perdidos do banco de dados por alguma razão. Por isso, é sempre bom ter um backup de tudo importante. Eis uma função com essas características:

 

<?php 
function backup_db($host, $user, $pass, $db) {

mysql_connect($host,$user,$pass) or die(mysql_error());  
mysql_select_db($db) or die(mysql_error()); 
$back = fopen("backup.sql","w"); 

$res = mysql_list_tables($db) or die(mysql_error()); 
while ($row = mysql_fetch_row($res)) { 
	$table = $row[0]; 
	$res2 = mysql_query("SHOW CREATE TABLE $table"); 
		while ( $lin = mysql_fetch_row($res2)){ 
			fwrite($back,"-- Criando tabela : $table\n"); 
			$res3 = mysql_query("SELECT * FROM $table"); 
				while($r=mysql_fetch_row($res3)){ 
					$sql="INSERT INTO $table VALUES ('"; 
					$sql .= implode("','",$r); 
					$sql .= "')\n"; 
					fwrite($back,$sql); 
				} 
		} 
} 

fclose($back); 
}
?>

 

Para usar, é muito fácil:

  • $host = Host do servidor, normalmente localhost
  • $user = Usuário do banco de dados, normalmente root
  • $pass = Senha do banco de dados
  • $db = Db desejada para o backup

Depois disso, você pode usar assim:

 

backup_db('localhost', 'root', '123', 'otserv');

 

Caso você queira por a função num arquivo e chamá-la em outro, fácil.

 

<?php

require_once("nome_do_arquivo_que_vc_pos_a_funcao.php");

backup_db('localhost', 'root', '123', 'otserv');

?>

 

Atenção! O código gerará o arquivo backup.sql no mesmo diretório que se encontrar a função.

 

 

Espero que gostem e usem! =)

Editado Maio 4 por Nostradamus

-LMS--
04 de maio de 2007 às 18:50

Uia Krak, esse eu vou usar com certeza. Te amo o.O

CaideraC
04 de maio de 2007 às 19:34

Uia...

 

Excelente Nostradamus :o...

Algo que pode salvar um OT do fim...

 

Abraços,

Caidera

LordfireL
04 de maio de 2007 às 22:19

pfuzz

já vi ots que deu pau no banco de dados do site

inclusive o meu que tinha só 4 players *.*

cara, mas é pra sql né?

NostradamusN
04 de maio de 2007 às 23:28

@Lordfire

Leu o tópico?

No título tem...

Sim é SQL.

1 ano depois...
dark of brenoD
11 de outubro de 2008 às 10:43

Otimo topico sem duvida vai salvar muitos ots do Fim

inclusive o meu :sarcastic:

2 meses depois...
arkiresA
14 de dezembro de 2008 às 19:20

Bem cara to com uma duvida se vc poder me esplicar melhor agradeço

 

esse code e para por na onde na pasta do OTserve ou na pasta do XAMPP?

noobinhuN
14 de dezembro de 2008 às 19:41

Isto é um código PHP que deve ser utilizado igual quando você abre seu site.

arkiresA
14 de dezembro de 2008 às 19:58

valeu amigo ajudo muito xD

11 meses depois...
LucaswellL
04 de novembro de 2009 às 14:59

Não Intendi Voce nao fez um tutorial PORFAVOR AJUDE!