vb連接sql資料庫 備份mysql資料庫的php程式碼一個表一個文件
複製程式碼 程式碼如下:
$cfg_dbhost ='localhost';//my主機$cfg_dbhost ='localhost';//my主機$cfg_dbhost ='localhost';//my主機
主機
主機$cfg_dbuser ='root';//資料庫使用者名稱
$cfg_dbpwd ='jb51.net';//資料庫使用者密碼
$cfg_db_language ='utf8 ';//資料庫編碼
class dbmysql{
public static $dbhost = 'localhost';
public static $dbname;
public static $dbuser = 'root';
public static $ dbpass;
public static $charset = 'utf8';
public static $DB = null;
public $querycount = 0;
public function __construct()
{
self: :$dbhost = $GLOBALS['cfg_dbhost'];
self::$dbname = $GLOBALS['cfg_dbname'];
self::$dbuser = $GLOBALS['cfg_dbuser'];
self ::$dbpass = $GLOBALS['cfg_dbpwd'];
self::$charset= $GLOBALS['cfg_db_language'];
self::connect();
}
public function connect (){
self::$DB=mysql_connect(self::$dbhost,self::$dbuser,self::$dbpass);
if(!self::$DB){
self ::sqlError('無法連接伺服器!'.self::mysqlerror);exit("無法連接伺服器!");;
}
if(!mysql_select_db(self::$dbname)){
self::sqlError('無法連接資料庫('.self::$dbname.')!'.self::mysqlerror);exit("無法連接資料庫!");
}
mysql_query(" SET NAMES '".self::$charset."', character_set_client=binary, sql_mode='';",self::$DB);
}
private function mysqlerror(){
return mysql_error ();
}
public function getTablesName(){
$res = mysql_query('SHOW TABLES FROM '.self::$dbname,self::$DB);
$tables=array ();
while ($row=mysql_fetch_row($res))$tables[]=$row[0];
mysql_free_result($res);
return $tables;
}
public function getFields($table){
$res=mysql_query('DESCRIBE '.$table,self::$DB);
$tables=array();
while($row=mysql_fetch_row ($res))$tables[]=$row[0];
mysql_free_result($res);
return $tables;
}
public function fetch_array($sql){
$res=mysql_query($sql,self::$DB);
$r=mysql_fetch_array($res);
mysql_free_result($res);
return $r;
}
public function fetch_assoc($sql){
$q3=mysql_query($sql,self::$DB); $ra=array();
while($data=mysql_fetch_assoc($q3)){
$ra[]=$data;
}
mysql_free_result($q3);
return $ra;
}
private function sqlError($message='',$info =' ',$sql=''){//儲存錯誤訊息到檔案
echo "{".$message."
DATE: ".date('Y-n-j H:i:s')."ERROR: ".$info."
SQL: ".$sql."
}
";
}
public function close(){
self::$DB =null;
}
public function __destruct()
{
self::close();
}
}
/*--- class end*/
function makedir($dirpath){
if(!$dirpath) return 0;
$dirpath=str_replace("\","/",$dirpath); $mdir=" ";
foreach(explode("/",$dirpath) as $val){
$mdir.=$val."/";
if($val==".."|| $val==".")continue;
if(!is_dir($mdir)&&!file_exists($mdir)){
if(!@mkdir($mdir,0755)){
exit ("建立目錄[".$mdir."]失敗.");
}
}
}
return true;
}
function delDirAndFile($dirName){
if($handle=opendir($dirName)){
while(false!==($item = readdir($handle))){
if($item !="."&&$item !=".."){
if(is_dir( "$dirName/$item")){
delDirAndFile( "$dirName/$item");
}else{ unlink("$dirName /$item"); }
}
}
closedir( $handle );
if( rmdir( $dirName ) )echo "成功刪除目錄: $dirName
n";
}
}
function filein($filename="databak/",$table='',$mysql=''){
$fp = fopen($filename.'/'. $table.'.sql','w');
fputs($fp,$mysql);
fclose($fp);
}
header("Content-Type:text/ html;charset=utf-8");
$db=new dbmysql();
$table=$db->getTablesName();
$filename="databak/".date("Ymd ");
$url=getcwd()."/databak/";
$handle = opendir($url);
while(false!==($file = readdir($handle)) ){
if ($file!="."&&$file!=".."&&is_dir($url."/".$file)) {
if(date("Ymd")-$ file>5){delDirAndFile($url."/".$file);};
}
}
makedir($filename);
foreach($table as $t){
$s1=$db->fetch_array("show create table `$t`");
$mysql="/*Time:".date("Y-m-d H:i:s")." */ rnDROP TABLE IF EXISTS `$t`;rn".$s1['Create Table'].";rnrn";
$a1=$db->fetch_assoc("select * from `$t`");
foreach ($a1 as $data){
$vals=array_values($data);
$vals=array_map('addslashes',$vals);
$vals=join("', '",$vals);
$vals="'".$vals."'";
$mysql.="INSERT INTO `$t` VALUES ($vals);rn";
}
$mysql.="rn";
filein($filename,$t,$mysql);
}
程式自動清理5天以前的備份";
?>
以上就介紹了vb連接sql資料庫 備份mysql資料庫的php程式碼一個表一個文件,包括了vb連接sql資料庫方面的內容,希望對PHP教程有興趣的朋友有所幫助。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

會話劫持可以通過以下步驟實現:1.獲取會話ID,2.使用會話ID,3.保持會話活躍。在PHP中防範會話劫持的方法包括:1.使用session_regenerate_id()函數重新生成會話ID,2.通過數據庫存儲會話數據,3.確保所有會話數據通過HTTPS傳輸。

PHP8.1中的枚舉功能通過定義命名常量增強了代碼的清晰度和類型安全性。 1)枚舉可以是整數、字符串或對象,提高了代碼可讀性和類型安全性。 2)枚舉基於類,支持面向對象特性,如遍歷和反射。 3)枚舉可用於比較和賦值,確保類型安全。 4)枚舉支持添加方法,實現複雜邏輯。 5)嚴格類型檢查和錯誤處理可避免常見錯誤。 6)枚舉減少魔法值,提升可維護性,但需注意性能優化。

SOLID原則在PHP開發中的應用包括:1.單一職責原則(SRP):每個類只負責一個功能。 2.開閉原則(OCP):通過擴展而非修改實現變化。 3.里氏替換原則(LSP):子類可替換基類而不影響程序正確性。 4.接口隔離原則(ISP):使用細粒度接口避免依賴不使用的方法。 5.依賴倒置原則(DIP):高低層次模塊都依賴於抽象,通過依賴注入實現。

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

RESTAPI設計原則包括資源定義、URI設計、HTTP方法使用、狀態碼使用、版本控制和HATEOAS。 1.資源應使用名詞表示並保持層次結構。 2.HTTP方法應符合其語義,如GET用於獲取資源。 3.狀態碼應正確使用,如404表示資源不存在。 4.版本控制可通過URI或頭部實現。 5.HATEOAS通過響應中的鏈接引導客戶端操作。

在PHP中,異常處理通過try,catch,finally,和throw關鍵字實現。 1)try塊包圍可能拋出異常的代碼;2)catch塊處理異常;3)finally塊確保代碼始終執行;4)throw用於手動拋出異常。這些機制幫助提升代碼的健壯性和可維護性。

匿名類在PHP中的主要作用是創建一次性使用的對象。 1.匿名類允許在代碼中直接定義沒有名字的類,適用於臨時需求。 2.它們可以繼承類或實現接口,增加靈活性。 3.使用時需注意性能和代碼可讀性,避免重複定義相同的匿名類。
