亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

如何用PHP實現數據的備份與恢復

PHP
小樊
82
2024-09-07 16:40:06
欄目: 編程語言

在 PHP 中,可以使用 MySQLi 或 PDO 擴展來實現數據庫的備份和恢復。下面是一個簡單的示例,展示了如何使用 PHP 和 MySQLi 實現這些功能:

  1. 數據庫備份
<?php
// 配置數據庫信息
$db_host = 'localhost';
$db_user = 'username';
$db_pass = 'password';
$db_name = 'database_name';

// 創建連接
$conn = new mysqli($db_host, $db_user, $db_pass, $db_name);

// 檢查連接
if ($conn->connect_error) {
    die("連接失敗: " . $conn->connect_error);
}

// 設置字符集
$conn->set_charset('utf8');

// 獲取所有表名
$tables = array();
$result = $conn->query("SHOW TABLES");
while ($row = $result->fetch_array()) {
    $tables[] = $row[0];
}

// 開始備份
$backup_file = 'backup_' . date('YmdHis') . '.sql';
$handle = fopen($backup_file, 'w+');

foreach ($tables as $table) {
    // 獲取表結構
    $result = $conn->query("SHOW CREATE TABLE `$table`");
    $row = $result->fetch_assoc();
    $create_table_sql = $row['Create Table'] . ";\n";
    fwrite($handle, $create_table_sql);

    // 獲取表數據
    $result = $conn->query("SELECT * FROM `$table`");
    while ($row = $result->fetch_assoc()) {
        $values = '';
        foreach ($row as $value) {
            $values .= "'" . addslashes($value) . "', ";
        }
        $values = substr($values, 0, -2);
        $insert_sql = "INSERT INTO `$table` VALUES ($values);\n";
        fwrite($handle, $insert_sql);
    }
}

fclose($handle);
echo "數據庫備份成功,文件名:$backup_file";
?>
  1. 數據庫恢復
<?php
// 配置數據庫信息
$db_host = 'localhost';
$db_user = 'username';
$db_pass = 'password';
$db_name = 'database_name';

// 創建連接
$conn = new mysqli($db_host, $db_user, $db_pass, $db_name);

// 檢查連接
if ($conn->connect_error) {
    die("連接失敗: " . $conn->connect_error);
}

// 設置字符集
$conn->set_charset('utf8');

// 讀取備份文件
$backup_file = 'backup_20211001000000.sql'; // 請將此處替換為實際的備份文件名
$content = file_get_contents($backup_file);
$sql_list = explode(';', $content);

// 開始恢復
foreach ($sql_list as $sql) {
    $sql = trim($sql);
    if (!empty($sql)) {
        $conn->query($sql);
    }
}

echo "數據庫恢復成功";
?>

注意:請確保備份文件和恢復腳本位于服務器上的相同目錄中,并根據實際情況修改文件名和數據庫信息。

0
丹阳市| 普定县| 大关县| 湘潭县| 栾城县| 同江市| 沂水县| 平塘县| 盐津县| 潮安县| 上虞市| 舟山市| 本溪市| 洱源县| 泽库县| 河池市| 鄱阳县| 沙湾县| 屏边| 大渡口区| 扎赉特旗| 祁连县| 米易县| 禹城市| 维西| 阳曲县| 冷水江市| 泽普县| 惠水县| 桓仁| 收藏| 米脂县| 嘉黎县| 武冈市| 蓬溪县| 乳山市| 怀远县| 闻喜县| 河曲县| 彭州市| 卢湾区|