文档详情

(PHP实现Mysql远程同步代码.doc

发布:2017-01-21约5.9千字共7页下载文档
文本预览下载声明
PHP实现Mysql远程同步代码 需求:由于公司的英文网站放置在美国,而这些网站的数据要与大陆的服务器数据同步。 同步时间在一天之内。 拿到需求之后,发现这两个网站的MYSQL数据库都不能远程访问(安全第一吧)。于是想起了 平时使用的CSV文件批量录入数据。于是尝试使用CSV导入导出。 导入到处框架如下: ? 1首先将数据导出成CSV的格式。 建立一文件,放置在中国服务器上:csv.php.其实就是一个导出函数,通过数据库,表名和SQL语句来获得数据。 ? ?php /** ?* 输出一个数据库中的表到一个CSV文件中 ?* ?* @param?? string????? Mysql数据库的主机 ?* @param?? string????? 数据库名称 ?* @param?? string????? 数据库中的表名 ?* @param?? string????? 数据库的连接用户名 ?* @param?? string????? 数据库的连接密码 ?* @param?? string????? 数据库的表名 ?* @param?? string????? 数据库的 ?* @param?? string????? 错误页面 ?* @param?? string????? SQL语句 ?* ?* @return? text??????? 返回CSV格式的内容 ?* ?* @access? public ?*/ function PMA_exportData($host,$db,$user,$pass,$filename,$table, $crlf, $error_url, $sql_query) { ??? $what=csv; ???? $csv_terminated= ; ???? $csv_separator=,; ???? $csv_enclosed= ; ??? $csv_escaped=nbsp;; ??? ??? ??? mysql_connect($host, $user,$pass) or?? die(不能连接数据库,错误代码如下: . mysql_error()); ??? mysql_select_db($db); ??? ? ??? $result????? = mysql_query($sql_query); ??? $fields_cnt? = mysql_num_fields($result); ??? $cc=; ? ? //$fp = fopen($filename, w); ??? // 格式化数据 ??? while ($row = mysql_fetch_row($result)) { ??????? $schema_insert = ; ??????? for ($j = 0; $j $fields_cnt; $j++) { ??????????? if (!isset($row[$j]) || is_null($row[$j])) { ??????????????? $schema_insert .=NULL;? //用什么来替换空值 ??????????? } elseif ($row[$j] == 0 || $row[$j] != ) { ??????????????? // loic1 :用引号包含字段值 ??????????? ??????????????? if ($csv_enclosed == ) { ??????????????????? $schema_insert .= $row[$j]; ??????????????? } else { ??????????????????? $schema_insert .= $csv_enclosed ?????????????????????????????????? . str_replace($csv_enclosed, $csv_escaped . $csv_enclosed, $row[$j]) ?????????????????????????????????? . $csv_enclosed; ??????????????? } ??????????? } else { ??????????????? $schema_insert .= ; ??????????? } ??????????? if ($j $fields_cnt-1) { ??????????????? $schema_insert .= $csv_separator; ??????????? } ??????? } // end for ?//? fwrite($fp,$schema_insert . $csv_terminate
显示全部
相似文档