[英]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.