begin process at 2012 02 09 12:36:55
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > SAUVEGARDE D'UNE BASE MYSQL

SAUVEGARDE D'UNE BASE MYSQL


 Information sur la source

Note :
7,5 / 10 - par 4 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de données Niveau :Initié Date de création :03/01/2003 Date de mise à jour :03/01/2003 10:48:25 Vu / téléchargé :7 202 / 1 348

Auteur : stefsoft

Ecrire un message privé
Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

 Description

c'est un petit script bien utile, il permet de sauvegarder une base de données qui est chez un hébergeur (par exemple) dans un fichier .sql sur son disque local et le tout très simplement : save_db.php4?db=nom_de_la_base

A+ Stefsoft



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

DATE EN FRANÇAIS (ENCORE!) MAIS FRANCHEMENT PLUS COURT...

 Sources de la même categorie

Source avec Zip RECHERCHE DES DOUBLONS DANS UNE TABLE MYSQL EN SÉLECTIONNANT... par aladec2007
[CRON] INSERT ON DUPLICATE KEY UPDATE par pierreSabatier
Source avec Zip CLASS MYSQL 5/PHP5 AVEC GESTION DES EXCEPTION ET DES REQUÊTE... par devil_may_cry
Source avec Zip Source avec une capture MOTEUR DE RECHERCHE SUR BASE MYSQL FULLTEXT ET BOOLEAN AVEC ... par cod57
SYSTÈME DE PAGINATION AVEC BDD ET IMAGES (FICHIERS) par begueradj

Commentaires et avis

Commentaire de RaphAstronome le 03/01/2003 19:28:29

Pratique avant de faire une modif risquée
Ca marche lorsqu'on à droit qu'a 1 base de données ?

Commentaire de pi0up51 le 04/01/2003 10:03:50

Ze demanderais : est-ce que ça marche comme phpmyadmin ou comme eskuel ??
Pcqe phpmyadmin dès que la base fait plus d'1Mo ça se chie dessus :P

Commentaire de iubito le 06/01/2003 18:01:45

ah bon ça chie au dessus d'1 Mo ?
tu m'inkiètes là parce que ma base chez free fait facilement 800 ko actuellement et ça va grOssir

Commentaire de birdyz le 17/01/2003 15:15:48

en tout cas, je viens de tester ce code sur une base de 1.3 Mo, et ca marche niquel. Merci pour ce code

Commentaire de Enishi le 13/02/2003 22:11:45

Merci pour le code, très utile!

Commentaire de FleX le 06/03/2003 11:40:32

Trop mortel !! super pratique en cas de modif :) 10/10

Commentaire de flagada42 le 23/06/2003 10:54:51

modif pour ne pas avoir insert into répéter à chaque fois :

function get_table_content($db, $table)
{

$result = mysql_db_query($db, "SELECT * FROM $table") or mysql_die();
$i = 0;
$no_passage = 1 ;
$row = mysql_fetch_row($result) ;

while($row)
{
$table_list = "(";

for($j=0; $j<mysql_num_fields($result);$j++)
{
$table_list .= mysql_field_name($result,$j).", ";
}
$table_list = substr($table_list,0,-2);
$table_list .= ")";


if ($no_passage == 1)
{
if(isset($GLOBALS["showcolumns"]))
{
$schema_insert = "INSERT INTO $table $table_list VALUES
(";
}
else
{
$schema_insert = "INSERT INTO $table VALUES
(";
}
}
else
{
$schema_insert = "(" ;
}
$no_passage ++ ;

for($j=0; $j<mysql_num_fields($result);$j++)
{
if(!isset($row[$j]))
{
$schema_insert .= " NULL,";
}
elseif($row[$j] != "")
{
$schema_insert .= " '".addslashes($row[$j])."',";
}
else
{
$schema_insert .= " '',";
}
}
$schema_insert = ereg_replace(",$", "", $schema_insert);
$schema_insert .= ")";

$row = mysql_fetch_row($result) ;
if ($row)
{
echo trim($schema_insert).",
";
}
else
{
echo trim($schema_insert).";
";
}
$i++;
}
return (true);
}

Commentaire de iubito le 23/06/2003 11:10:37

justement, le seul endroit où g eu un problème avec une GROSSE table (4 méga), c pas dans l'export vers .SQL mais dans l'import.
Si je met dans phpmyadmin "insertion étendues" (= ne répète pas les insert into) ça met trop de temps pour faire la requête et ça plante. Si je met pas les insertion étendues çà fait pleins de requêtes mais ça passe !

Commentaire de Jackboy le 07/09/2003 15:18:03

est'il possible, dans le meme principe, de faire un update de la base de donnée, autrement dit de faire le contraire, de mon disque dur au serveur ?!?

Commentaire de beleeette le 06/07/2004 19:00:32

Protéger les noms des tables et des champs par des "`" peut se retrouver utile.

C'est une bete modif des 2 fonctions:

function get_table_structure($db, $table){
global $drop;

$schema_create = "";
if(!empty($drop))
$schema_create .= "DROP TABLE IF EXISTS `$table`;\n";

$schema_create .= "CREATE TABLE `$table` (\n";

$result = mysql_db_query($db, "SHOW FIELDS FROM `$table`") or mysql_die();
while($row = mysql_fetch_array($result))
{
$schema_create .= " `$row[Field]` $row[Type]";

if(isset($row["Default"]) && (!empty($row["Default"]) || $row["Default"] == "0"))
$schema_create .= " DEFAULT '$row[Default]'";
if($row["Null"] != "YES")
$schema_create .= " NOT NULL";
if($row["Extra"] != "")
$schema_create .= " $row[Extra]";
$schema_create .= ",\n";
}
$schema_create = ereg_replace(",\n$", "", $schema_create);
$result = mysql_db_query($db, "SHOW KEYS FROM `$table`") or mysql_die();
while($row = mysql_fetch_array($result))
{
$kname=$row['Key_name'];
if(($kname != "PRIMARY") && ($row['Non_unique'] == 0))
$kname="UNIQUE|$kname";
if(!isset($index[$kname]))
$index[$kname] = array();
$index[$kname][] = $row['Column_name'];
}

while(list($x, $columns) = @each($index))
{
$schema_create .= ",\n";
if($x == "PRIMARY")
$schema_create .= " PRIMARY KEY (" . implode($columns, ", ") . ")";
elseif (substr($x,0,6) == "UNIQUE")
$schema_create .= " UNIQUE ".substr($x,7)." (" . implode($columns, ", ") . ")";
else
$schema_create .= " KEY $x (" . implode($columns, ", ") . ")";
}

$schema_create .= "\n)";
return (stripslashes($schema_create));
}

function get_table_content($db, $table){
$result = mysql_db_query($db, "SELECT * FROM $table") or mysql_die();
$i = 0;
while($row = mysql_fetch_row($result))
{
$table_list = "(";

for($j=0; $j<mysql_num_fields($result);$j++)
$table_list .= "`".mysql_field_name($result,$j)."`, ";

$table_list = substr($table_list,0,-2);
$table_list .= ")";

if(isset($GLOBALS["showcolumns"]))
$schema_insert = "INSERT INTO`$table` $table_list VALUES (";
else
$schema_insert = "INSERT INTO `$table` VALUES (";

for($j=0; $j<mysql_num_fields($result);$j++)
{
if(!isset($row[$j]))
$schema_insert .= " NULL,";
elseif($row[$j] != "")
$schema_insert .= " '".addslashes($row[$j])."',";
else
$schema_insert .= " '',";
}
$schema_insert = ereg_replace(",$", "", $schema_insert);
$schema_insert .= ")";
echo trim($schema_insert).";\n";
$i++;
}
return (true);
}

Commentaire de figo57 le 29/07/2004 14:51:17

bonjour, je trouve ce script très sympa, cependant j'ai un problème au niveau de l'enrgistrement en local...
Je n'arrive pas à enregistrer ma base en .sql......
comment fait-on... il me dit obligatoirement d'enregsitrer ça au format html.....

merci d'avance!!

Commentaire de jib0403 le 28/06/2005 14:02:32

le script marche super bien
merci beaucoup
seulement j'aurais besion que le script s'enregistre tout seul à un endroit
merci

Commentaire de gostsn le 12/06/2006 03:22:01

Super!
G passer deux heures a chercher un script SIMPLE pour télécharger ma db cotidiennement!
Bravo!

NB: pour uploader des grosse pas de donnée je vous conseil http://www.ozerov.de/bigdump.php C très simple.

Commentaire de Samx le 06/09/2006 02:31:04

bip bilip bip bip  >>> Nouvelle de dernière heure: Ce script fonctionne à merveille sur PHP5

Commentaire de Thienou le 13/07/2007 15:50:18

Fonctionne très bien et il est très simple, bravo.

Commentaire de Gallient le 22/08/2008 11:04:52

Ne fonctionne pas sur PHP 5.2.6

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales