php将access数据库转换到mysql数据库的方法

yipeiwu_com6年前Mysql基础

本文实例讲述了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程序设计有所帮助。

相关文章

PHP以及MYSQL日期比较方法

MYSQL日期比较 TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; 我们的date_col必须是日期时间格式,而不能是时间戳, mysql>...

PHP读MYSQL中文乱码的快速解决方法

打算切换某个网站的主机,没想到遇到Php和Mysql中文乱码的问题。 以前的国外主机用的Mysql是4.x系列的,感觉还比较好,都无论GBK和UTF-8都没有乱码,没想到新的主机的Mys...

MySQL时间字段究竟使用INT还是DateTime的说明

今天解析DEDECMS时发现deder的MYSQL时间字段,都是用 `senddata` int(10) unsigned NOT NULL DEFAULT '0'; 随后又在网...

五款常用mysql slow log分析工具的比较分析

五款常用mysql slow log分析工具的比较分析

启用 slow log 有两种启用方式:1, 在my.cnf 里 通过 log-slow-queries[=file_name] 2, 在mysqld进程启动时,指定--log-sl...

用mysql内存表来代替php session的类

复制代码 代码如下:<?php /** @Usage: use some other storage method(mysql or memcache) instead of ph...