PHP数据库备份是指使用PHP脚本将数据库中的数据导出为文件,以便在需要时恢复数据。这种备份通常以SQL文件的形式存在,包含了创建表结构和插入数据的SQL语句。
以下是一个简单的PHP脚本,用于备份MySQL数据库:
<?php
// 数据库连接配置
$host = 'localhost';
$user = 'username';
$password = 'password';
$dbname = 'database_name';
// 备份文件名
$backup_file = 'backup_' . date('Y-m-d_H-i-s') . '.sql';
// 创建备份文件
$handle = fopen($backup_file, 'w');
// 获取数据库所有表的名称
$tables = mysqli_query("SHOW TABLES");
while ($table = mysqli_fetch_row($tables)) {
$table_name = $table[0];
// 导出表结构
$result = mysqli_query("SHOW CREATE TABLE $table_name");
$row = mysqli_fetch_row($result);
$schema = $row[1];
fwrite($handle, "-- Table structure for table `$table_name`\n");
fwrite($handle, "$schema\n\n");
// 导出表数据
$rows = mysqli_query("SELECT * FROM $table_name");
while ($row = mysqli_fetch_row($rows)) {
$values = array();
foreach ($row as $value) {
if (is_string($value)) {
$values[] = "'" . mysqli_real_escape_string($value) . "'";
} else {
$values[] = $value;
}
}
$query = "INSERT INTO `$table_name` VALUES (" . implode(', ', $values) . ")";
fwrite($handle, "$query;\n");
}
fwrite($handle, "\n");
}
fclose($handle);
echo "Database backup completed. File saved as $backup_file";
?>
通过以上方法,可以实现一个基本的PHP数据库备份功能。根据具体需求,可以进一步优化和扩展备份脚本。
领取专属 10元无门槛券
手把手带您无忧上云