用php实现将ACCESS数据库转填充到MySQL的问题

发布网友 发布时间:2022-04-21 23:57

我来回答

1个回答

热心网友 时间:2022-04-10 16:58

你确定你的SQL语句正确?因为mysql里INSERT INTO `表名` 这里有两个TAB键上的那个引号引注表名的,你的没有!所以你的SQL语句有问题! 还有注意ACCESS默认编码是GB2312 你的MYSQL要是UTF8就要注意转一下,不然会出现乱码! 以下是我的实例:亲自测试正确你可以参考一下 http://www.fhyin.cn File:d:SERVERwwwrootstudyphpmdb.php *Create Date: 2008-6-15 12:06:19 */ function conver($temp) { $temp = addslashes($temp); $temp = trim($temp); $temp = ltrim($temp, "\x00..\x1F"); $temp = str_replace(chr(13).chr(10),"
",$temp);$temp = preg_replace("/\,$/","",$temp);return @iconv("GB2312","UTF-8",$temp); //注意因为access默认是gb2312所以用这函数转为utf8}require_once("db1.php"); //库接连 这里你实际设置库名帐号密码了if(!mysql_connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect) or !mysql_select_db($dbname)){die("datebase error."); } //判断库连接正确mysql_query("SET NAMES 'utf8'"); //设置UTF8编码$conn=@new COM("ADODB.Connection") or die("Conn failed!"); //$dsn="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=".realpath("BLogDB.mdb"); //第一种连接access库方法 还有注意你MDB的实际路径$dsn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=".realpath("BLogDB.mdb"); ///第二种连接access库方法$conn->open($dsn); $sql="select log_ID,log_Title,log_Intro,log_From,log_Content,log_PostTime from blog_Content"; $rs=$conn->Execute($sql); while(!$rs->eof) {$log_ID = conver($rs->Fields["log_ID"]->Value);$log_Title = conver($rs->Fields["log_Title"]->Value);$log_Intro = conver($rs->Fields["log_Intro"]->Value);$log_From = conver($rs->Fields["log_From"]->Value);$log_Content = conver($rs->Fields["log_Content"]->Value);$log_PostTime = conver($rs->Fields["log_PostTime"]->Value);$in_sql ="INSERT INTO `blog_Content` VALUES ($log_ID,'$log_Title','$log_Intro','$log_From','$log_Content','$log_PostTime');"; //我这里的INSERT你对比一下注意字段类型!//echo $in_sql;mysql_qu

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com