本文實例講述了php將access數據庫轉換到mysql數據庫的方法。分享給大家供大家參考。具體分析如下:
本人采集來的數據是ACCESS的,但我的程序是mysql的,故寫了一個程序,程序三步走,分享一下,喜歡操作數據庫的朋友應該都會用到的.
1.連接mysql,代碼如下:
復制代碼 代碼如下:$dbhost="localhost:3307";//服務器
$db="dataname";//數據庫
$dbuser="root";//用戶名
$dbpass="*******";//密碼
$db_qianzhui="sdb_";//表前綴
$link=mysql_connect($dbhost,$dbuser,$dbpass);
if(!$link) echo "鏈接失敗!";
else echo "成功!!!";
mysql_query("SET NAMES 'UTF8'");
mysql_query("SET CHARACTER SET UTF8"); //>>>解決亂
mysql_query("SET CHARACTER_SET_RESULTS=UTF8'");///////>>>碼問題
mysql_select_db("{$db}");
2.連接access數據庫,代碼如下:
復制代碼 代碼如下:$datapath="data.mdb";
$fenlei="101";
$conn = new com("ADODB.Connection");
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath($datapath);
$conn->Open($connstr);
$rs = new com("ADODB.RecordSet");
$rs->Open("select * from information where lanmu3id=13 ",$conn,1,1); //查詢*.MDB文件裡面的
3.以下准備一邊讀一寫入操作:
復制代碼 代碼如下:while(! $rs->eof) {
//$f = $rs->Fields(1); //1.賦值(*調試用)
//echo $f->value; //2.看能不能寫讀出來(*調試用)
//以下是分別給變量賦值,其中'gb2312','utf-8'為了解決亂碼問題!
$id =iconv ('gb2312','utf-8',$rs->Fields(ID)->value);//ID為access字段,或用數字表示
$name = iconv ('gb2312','utf-8',$rs->Fields(title)->value);
$jianjie = iconv ('gb2312','utf-8',$rs->Fields(1)->value);
$content= iconv ('gb2312','utf-8',$rs->Fields(content)->value);
$down = iconv ('gb2312','utf-8',$rs->Fields(download)->value);
echo "<font color=red>".$name."</font>已經插入<br>";//輸出插入記錄
///依次執行insert,值為變量
$sql="INSERT INTO `shopex`.`sdb_articles` (`article_id`,`node_id`,`title`,`content`,`uptime`,`ifpub`,`align`,`filetype`,`filename`,`orderlist`,`disabled`) VALUES ('','{$fenlei}','{$name}','{$info}','1275549287','1',Null,Null,NULL,NULL,'false')";
////以上是插入MYSQL數據庫的SQL//////
mysql_query($sql); //執行語句!!!
///echo $rs->Fields(name)->value. "<br>";
$rs->MoveNext();
/////個人用於ACCESS向mysql內轉換數據庫的操作,
}
希望本文所述對大家的php程序設計有所幫助。