成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

PHP 備份 Mysql 數(shù)據(jù)庫(kù)的實(shí)現(xiàn)

ZweiZhao / 542人閱讀

摘要:變量參數(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

相關(guān)文章

  • SimfaseDevEnv一個(gè)Vagrant構(gòu)建開(kāi)發(fā)環(huán)境

    摘要:整體與很像,但是做了一些更改,為了更適應(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...

    Noodles 評(píng)論0 收藏0
  • Yii2 開(kāi)發(fā)MYSQL數(shù)據(jù)備份功能

    摘要:應(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...

    Warren 評(píng)論0 收藏0
  • PHP程序員學(xué)習(xí)路線(xiàn)

    摘要:第一階段基礎(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...

    genedna 評(píng)論0 收藏0
  • 透過(guò) Crontab 排程備份 Mariadb (Mysql)使用 php + exec + mys

    摘要:本教學(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ì)...

    mingzhong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<