Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SAUVEGARDE D'UNE BASE MYSQL


Information sur la source

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é: 5 960 / 1 241

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
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 ?

signaler à un administrateur
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

signaler à un administrateur
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

signaler à un administrateur
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

signaler à un administrateur
Commentaire de Enishi le 13/02/2003 22:11:45

Merci pour le code, très utile!

signaler à un administrateur
Commentaire de FleX le 06/03/2003 11:40:32

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

signaler à un administrateur
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);
}

signaler à un administrateur
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 !

signaler à un administrateur
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 ?!?

signaler à un administrateur
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);
}

signaler à un administrateur
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!!

signaler à un administrateur
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

signaler à un administrateur
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.

signaler à un administrateur
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

signaler à un administrateur
Commentaire de Thienou le 13/07/2007 15:50:18

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

signaler à un administrateur
Commentaire de Gallient le 22/08/2008 11:04:52

Ne fonctionne pas sur PHP 5.2.6

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.