ホームページ >データベース >mysql チュートリアル >ユーザー定義のダウンロード/保存場所を使用して PHP を使用して MySQL データベースをエクスポートするにはどうすればよいですか?
PHP を使用して MySQL データベースをエクスポートする
背景
データベースのエクスポートはデータのバックアップにとって重要です。復元および移行の目的。この記事では、PHP を使用して MySQL データベースをエクスポートするための包括的なソリューションを提供します。
データベースのエクスポート
提示された PHP コードは、データベースを「backup.sql」という名前のファイルにシームレスにエクスポートします。 」ただし、保存場所とダウンロード可能性をユーザーが制御することはできません。この記事では、コードを拡張することでこれらの制限に対処します。
拡張された PHP コード
以下は、保存およびダウンロードのオプションをユーザーが制御できるようにする拡張された PHP コードです。
$DB_HOST = "localhost"; $DB_USER = "root"; $DB_PASS = "admin"; $DB_NAME = "dbname"; $con = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME); $tables = array(); $result = mysqli_query($con, "SHOW TABLES"); while ($row = mysqli_fetch_row($result)) { $tables[] = $row[0]; } $return = ''; foreach ($tables as $table) { $result = mysqli_query($con, "SELECT * FROM " . $table); $num_fields = mysqli_num_fields($result); $return .= 'DROP TABLE ' . $table . ';'; $row2 = mysqli_fetch_row(mysqli_query($con, 'SHOW CREATE TABLE ' . $table)); $return .= "\n\n" . $row2[1] . ";\n\n"; for ($i = 0; $i < $num_fields; $i++) { while ($row = mysqli_fetch_row($result)) { $return .= 'INSERT INTO ' . $table . ' VALUES('; for ($j = 0; $j < $num_fields; $j++) { $row[$j] = addslashes($row[$j]); if (isset($row[$j])) { $return .= '"' . $row[$j] . '"'; } else { $return .= '""'; } if ($j < $num_fields - 1) { $return .= ','; } } $return .= ");\n"; } } $return .= "\n\n\n"; } // User-defined download/save location variable $download_path = isset($_GET['download_path']) ? $_GET['download_path'] : 'default_path'; // Set default path if not provided $handle = fopen($download_path . '/backup.sql', 'w+'); fwrite($handle, $return); fclose($handle); if (isset($_GET['download']) && $_GET['download'] == true) { header('Content-Type: application/octet-stream'); header("Content-Transfer-Encoding: Binary"); header("Content-disposition: attachment; filename=\"backup.sql\""); echo $return; exit; } else { echo "Success! Database exported to " . $download_path . "/backup.sql"; }
コードの説明
強化されたコードには次の機能が組み込まれています:
結論
この改良された PHP コードは、MySQL データベースをエクスポートするための柔軟なソリューションを提供し、手動保存と手動保存の両方を提供します。直接ダウンロードのオプション。これにより、ユーザーはデータベースのバックアップと復元のニーズをより詳細に制御できるようになります。
以上がユーザー定義のダウンロード/保存場所を使用して PHP を使用して MySQL データベースをエクスポートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。