Maison >développement back-end >tutoriel php >Comment sauvegarder automatiquement les tables de base de données en php
Comment sauvegarder automatiquement les tables d'une base de données en php ? Cet article vous expliquera comment utiliser PHP pour sauvegarder automatiquement les tables de base de données, comme référence pour tout le monde, et j'espère qu'il pourra vous aider.
1. Préface
Il existe de nombreuses façons de sauvegarder la base de données MySQL
Par exemple :
1. Utilisez la fonction mysqldump
mysqldump - u username -p dbname table1 table2 ... > BackupName.sql
Le paramètre dbname représente le nom de la base de données
Les paramètres table1 et table2 représentent les noms de la tables qui doivent être sauvegardées. Si elles sont vides, la table entière du paramètre Backup;
BackupName.sql est conçue pour être le nom du fichier de sauvegarde. Un chemin absolu peut être ajouté devant. nom de fichier. La base de données est généralement divisée en un fichier avec le suffixe sql
Utilisation de base :
2.
Il existe de nombreuses façons de sauvegarder la base de données, les deux ci-dessus sont les plus courantes
Cette fois, nous expliquons principalement comment sauvegarder automatiquement la base de données via les fonctions php2 . Introduction aux fonctions associées2.1, fopen
2.2, array_keys
2.3, array_values.
2.4, imploser
2.5, substr
2.6, fwrite
3. Idées de mise en œuvre
4. >5. Conclusion
Le processus principal de sauvegarde de la base de données : Basculez vers la base de données correspondante/** * [copyDb description] 备份数据库 * @param [type] $dbname [description] 数据库名 * @param [type] $fileName [description] 存储的文件名 * @return [type] [description] */ public function copyDb($dbname, $fileName){ $myfile = fopen($fileName, "w") or die("Unable to open file!");//打开存储文件 $this->link->query("use {$dbname}");//切换数据库 $this->changeDb($dbname); $tables = $this->link->query('show tables');//获取当期数据库所有表名称 while($re = $tables->fetch(PDO::FETCH_ASSOC)){ //var_dump($re);//查看数组构成 $tableName = $re['Tables_in_'.$dbname];//构成特定的下标 $sql = "show create table {$tableName};"; $tableSql = $this->link->query($sql); fwrite($myfile, "DROP TABLE IF EXISTS `{$tableName}`;\r\n");//加入默认删除表的遇见 //下面备份表结构,这个循环之执行一次 while($re = $tableSql->fetch(PDO::FETCH_ASSOC)){ // echo "<pre class="brush:php;toolbar:false">"; // var_dump($re); // echo ""; echo "正在备份表{$re['Table']}结构
Utilisez show create table tableName pour obtenir la structure de la table et l'écrire ; dans un fichier ;
Ensuite, interrogez toutes les données de la table, faites une boucle pour générer l'instruction SQL correspondante et écrivez-la dans le fichier
Le fichier SQL généré par l'essai
Recommandations associées :
Navicat pour MySQL Opérations planifiées de sauvegarde de base de données et de récupération de données Comment mettre en œuvre une sauvegarde automatique de base de données avec PHPIntroduction au code graphique et textuel sur la façon d'utiliser PHP pour sauvegarder automatiquement les tables de base de donnéesCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!