繁体   English   中英

在php中为数据库创建备份脚本

[英]Creating a backup script for database in php

我想创建一个脚本,为数据库的每个表创建一个备份。直到现在我有了这个:

与数据库的连接:

<?php
$AdresaBD="localhost";
$UtilizatorBD="root";
$NumeBD="auth";
$NumeBD1="auth1";
$ParolaBD="";


$con1=mysqli_connect($AdresaBD,$UtilizatorBD,$ParolaBD,$NumeBD);
$con2=mysqli_connect($AdresaBD,$UtilizatorBD,$ParolaBD,$NumeBD1);
if( mysqli_connect_errno() ) {
    echo 'Nu ma pot conecta la baza de date!'.mysqli_connect_errno();
}
?>

剧本:

<?php
//auth
$backup1 = fopen('auth_back_'.date('j-M-Y').'.sql','w+');
$CerereSQL = "SELECT * INTO OUTFILE '$backup1' FROM `angajati`,`concedii`";
$result = mysqli_query($con1,$CerereSQL);

//auth1
$backup2 = fopen('auth1_back_'.date('j-M-Y').'.sql','w+');
$CerereSQL = "SELECT * INTO OUTFILE '$backup2' FROM `contact`,`persoane_active`";
$result = mysqli_query($con2,$CerereSQL);
?>

(例如,我将只选择一个数据库进行解释)我的数据库auth中有表angajati,concedii,当我测试文件以查看它们是否真正包含数据时,此脚本应使用这些表创建备份文件sql其中,换句话说,当我尝试导入它们时,它说成功,但是没有显示数据。这是因为无论我做什么,文件都是空白的。

尝试将您的代码破坏为一个简单的版本,然后努力找出问题所在。

我想这是您尝试备份到的文件的问题:

  • 检查文件路径是否正确。

原始代码:

$backup1 = fopen('auth_back_'.date('j-M-Y').'.sql','w+');
$CerereSQL = "SELECT * INTO OUTFILE '$backup1' FROM `angajati`,`concedii`";
$result = mysqli_query($con1,$CerereSQL);

简化代码:

$backupFile1 = 'auth_back.sql';
$CerereSQL = "SELECT * INTO OUTFILE '$backupFile1' FROM angajati";
if(mysqli_query($con1,$CerereSQL)) {
    echo 'Database backed up';
}
else {
    echo 'There was an error backing that database up';
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM