ホームページ  >  記事  >  バックエンド開発  >  vbはSQLデータベースに接続し、mysqlデータベースのphpコード、1つのテーブルと1つのファイルをバックアップします

vbはSQLデータベースに接続し、mysqlデータベースのphpコード、1つのテーブルと1つのファイルをバックアップします

WBOY
WBOYオリジナル
2016-07-29 08:42:541155ブラウズ

コードをコピーします コードは次のとおりです:


$cfg_dbhost ='localhost';//mysqlホスト
$cfg_dbname ='sq_test';//データベース名
$cfg_dbuser =' root';/ /データベースユーザー名
$cfg_dbpwd ='jb51.net';//データベースユーザーパスワード
$cfg_db_ language ='utf8';//データベースエンコーディング
class dbmysql{
public static $dbhost = 'localhost';パブリック静的 $dbname ;
パブリック静的 $dbpass = 'utf8';
パブリック静的 $DB = null; ()
{
self::$dbhost = $GLOBALS['cfg_dbhost'];
self::$dbname = $GLOBALS['cfg_dbname'];
self::$dbuser = $GLOBALS['cfg_dbhost']; self::$ dbpass = $GLOBALS['cfg_dbpwd'];
self::$charset= $GLOBALS['cfg_db_lang'];
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);
}
プライベート関数 mysqlerror(){
return mysql_error();
}
パブリック関数 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;
パブリック関数 getFields($table){
$res=mysql_query('DESCRIBE '.$table,self::$DB); ;
while($row=mysql_fetch_row($res))$tables []=$row[0];
return $tables
}
public function fetch_array($sql); =mysql_query($sql,self::$DB);
$ r=mysql_fetch_array($res);
return $r;
$q3= mysql_query($sql,self::$DB); $ra= array();
while($data=mysql_fetch_assoc($q3)){
$ra[]=$data;
return $ra;
}
private function sqlError($message= '',$info ='',$sql=''){//エラーメッセージをファイルに保存
echo "{".$message."< br/>DATE: ".date('Y-n-j H:i :s')."
ERROR: ".$info."
SQL: ".$sql."< ;br/>}
";
}
パブリック関数 close(){
self::$DB =null;
}
パブリック関数 __destruct()
{
self::close();
}
}
/*---クラス終了*/
function makedir($dirpath){
if(!$dirpath) return 0;
$dirpath=str_replace("\","/",$dirpath); $mdir="";
foreach(explode("/", $dirpath) as $val){
$mdir.=$val."/"; ==".")続行;
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 ) ); : $dirName
n";
}
}
function filein($filename="databak/",$table='',$mysql=''){
$fp = fopen($filename.' /'.$table.'.sql','w') ;
fputs($fp,$mysql)
}
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`");時刻:".date("Y-m-d H:i:s") ." */rnDROP TABLE IF EXISTS `$t`;rn".$s1['テーブルの作成'].";rnrn";
$a1=$ db->fetch_assoc("select * from `$t`" );
foreach ($a1 as $data){
$vals=array_map('addslashes',$vals); ;
$vals=join("','",$vals );
$vals="'".$vals."'"; rn";
}
$mysql.="rn";
filein($filename,$t,$mysql);
}
echo "データのバックアップが成功しました、バックアップ ファイルが生成されました".getcwd()."/".$ファイル名。"/
プログラムは 5 日間の以前のバックアップを自動的にクリーンアップします
?>

;
上記では、VB を SQL データベースに接続し、MySQL データベース、1 つのテーブル、1 つのファイルをバックアップするための PHP コードを紹介しました。これには、VB を SQL データベースに接続する内容も含まれており、PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。