摘要:變量參數(shù)設(shè)置連接數(shù)據(jù)庫(kù)獲取數(shù)據(jù)庫(kù)的所有表循環(huán)操作每個(gè)表獲取創(chuàng)建表的語(yǔ)句獲取數(shù)據(jù)表中的字段信息查詢(xún)每個(gè)字段的內(nèi)容拼成字符串獲取每張表對(duì)應(yīng)的語(yǔ)句轉(zhuǎn)義特殊字符輸出內(nèi)容到文件釋放資源關(guān)閉連接
// 變量參數(shù)設(shè)置
$options = array(
"db_host" =>"localhost", "db_user" =>"root", "db_pwd" =>"", "db_name" =>"test", "db_charset"=>"utf8",
);
// 連接數(shù)據(jù)庫(kù)
$conn = mysql_connect($options["db_host"], $options["db_user"], $options["db_pwd"]);
mysql_select_db("test", $conn);
mysql_query("SET NAMES {$options["db_charset"]}", $conn);
// 獲取數(shù)據(jù)庫(kù)的所有表
$tableArr = array();
$resource = mysql_query("SHOW TABLES FROM test", $conn);
while ($tempArr = mysql_fetch_row($resource)) {
$tableArr[] = $tempArr[0];
}
// 循環(huán)操作每個(gè)表
foreach ($tableArr as $table) {
// (1)獲取創(chuàng)建表的 SQL 語(yǔ)句 $resource = mysql_query("SHOW CREATE TABLE ".$table, $conn); $tempArr = mysql_fetch_row($resource); $sqlStr = "DROP TABLE IF EXISTS ".$table."; "; $sqlStr .= $tempArr[1]."; "; // (2)獲取數(shù)據(jù)表中的字段信息 $fieldArr = array(); $resource = mysql_query("SHOW COLUMNS FROM ".$table); while ($tempArr = mysql_fetch_assoc($resource)) { if ($tempArr["Key"] == "PRI") { $fieldArr["PRI"] = $tempArr["Field"]; } else { $fieldArr[] = $tempArr["Field"]; } } // (3)查詢(xún)每個(gè)字段的內(nèi)容, 拼成 SQL 字符串 $sql = "SELECT * FROM ".$table; if (!empty($fieldArr["PRI"])) $sql .= " ORDER BY ".$fieldArr["PRI"]." ASC"; $resource = mysql_query($sql); while ($tempArr = mysql_fetch_row($resource)) {//獲取每張表對(duì)應(yīng)的 INSERT SQL 語(yǔ)句 $sqlStr .= "INSERT INTO ".$table." VALUES ("; foreach ($tempArr as $value) { $sqlStr .= """.addslashes($value)."", ";//轉(zhuǎn)義特殊字符 } $sqlStr = substr($sqlStr, 0, -2)."); "; } $sqlStr .= " -- =========================$table "; // (4)輸出內(nèi)容到文件 $handle = fopen("db_bakup_{$options["db_name"]}.sql", "a+"); if (flock($handle, LOCK_EX)) { fwrite($handle, $sqlStr); flock($handle, LOCK_UN); } fclose($handle);
}
// 釋放Mysql資源, 關(guān)閉連接
mysql_free_result($resource);
mysql_close($conn);
?>
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/25617.html
摘要:整體與很像,但是做了一些更改,為了更適應(yīng)中國(guó)國(guó)內(nèi)的開(kāi)發(fā)網(wǎng)絡(luò)環(huán)境。表示宿主機(jī)器的目錄,表示環(huán)境目錄。將虛擬機(jī)置于休眠狀態(tài)。在開(kāi)發(fā)過(guò)程中可能會(huì)需要增加多個(gè)站點(diǎn)來(lái)運(yùn)行不同的開(kāi)發(fā)程序。與擴(kuò)展名重名,建議將的改成為佳。 SimfaseDevEnv 介紹 SimfaseDevEnv是為php開(kāi)發(fā)者提供的開(kāi)發(fā)環(huán)境,構(gòu)建在vagrant之上;Vagrant的Vagrangfile配置文件是在Homes...
摘要:應(yīng)用場(chǎng)景數(shù)據(jù)對(duì)于網(wǎng)站來(lái)說(shuō)是非常重要的一般后臺(tái)都有數(shù)據(jù)備份功能。使用的第三方拓展可以快速開(kāi)發(fā)。是基于的一款第三方擴(kuò)展,安裝配置一下可以正常訪(fǎng)問(wèn),也可以很方便自定義。在開(kāi)發(fā)過(guò)程中,因?yàn)閭浞莺笤趯?dǎo)入出現(xiàn)一些問(wèn)題。所以做了一些修改。 應(yīng)用場(chǎng)景 數(shù)據(jù)對(duì)于網(wǎng)站來(lái)說(shuō) 是非常重要的 一般 cms 后臺(tái) 都有 數(shù)據(jù)備份功能。使用Yii 的第三方拓展 可以快速開(kāi)發(fā)。 spanjeta/yii2-backu...
摘要:第一階段基礎(chǔ)階段基礎(chǔ)程序員重點(diǎn)把搞熟練核心是安裝配置基本操作目標(biāo)能夠完成基本的系統(tǒng)安裝,簡(jiǎn)單配置維護(hù)能夠做基本的簡(jiǎn)單系統(tǒng)的開(kāi)發(fā)能夠在中型系統(tǒng)中支持某個(gè)功能模塊的開(kāi)發(fā)。本項(xiàng)不做重點(diǎn)學(xué)習(xí),除非對(duì)前端有興趣。 第一階段:基礎(chǔ)階段(基礎(chǔ)PHP程序員) 重點(diǎn):把LNMP搞熟練(核心是安裝配置基本操作) 目標(biāo):能夠完成基本的LNMP系統(tǒng)安裝,簡(jiǎn)單配置維護(hù);能夠做基本的簡(jiǎn)單系統(tǒng)的PHP開(kāi)發(fā);能夠在P...
摘要:本教學(xué)使用環(huán)境介紹伺服器端資料庫(kù)語(yǔ)言版本本機(jī)端一開(kāi)始原本是用去備份資料庫(kù),但是發(fā)現(xiàn)會(huì)有一些問(wèn)題,于是改成這種方式,直接透過(guò)去備份,出來(lái)的格式也不會(huì)有什么問(wèn)題。 本教學(xué)使用環(huán)境介紹伺服器端:Ubuntu 18.04 LTS資料庫(kù):Mariadb 10.1.34(Mysql)語(yǔ)言版本:php 7.3本機(jī)端:MacOS High Sierra 一開(kāi)始原本是用 php 去備份資料庫(kù),但是發(fā)現(xiàn)會(huì)...
閱讀 3752·2021-11-24 10:46
閱讀 1718·2021-11-15 11:38
閱讀 3772·2021-11-15 11:37
閱讀 3496·2021-10-27 14:19
閱讀 1955·2021-09-03 10:36
閱讀 2003·2021-08-16 11:02
閱讀 3009·2019-08-30 15:55
閱讀 2262·2019-08-30 15:44