php实现mysql同步的实现方法
前端之家收集整理的这篇文章主要介绍了
php实现mysql同步的实现方法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
拿到需求之后,发现这两个网站的MysqL数据库都不能远程访问(安全第一吧)。于是想起了 平时使用的CSV文件批量录入数据。于是 @H_4030@尝试使用CSV导入导出。 @H4030@导入到处框架如下: @H4030@1首先将数据导出成CSV的格式。 @H403_0@建立一文件,放置在中国服务器上:csv.PHP.其实就是一个导出函数,通过数据库,表名和sql语句来获得数据。 @H_403_0@csv.PHP @H_403_0@<div class="codetitle"><a style="CURSOR: pointer" data="19967" class="copybut" id="copybut19967" onclick="doCopy('code19967')"> 代码如下:
<div class="codebody" id="code19967"> @H_
403_0@<?
PHP @H_
4030@/** @H403_0@
输出一个数据库中的表到一个CSV文件中 @H_403_0@ @H_
403_0@
@param string MysqL数据库的主机 @H_403_0@ @param string
数据库名称 @H_
403_0@
@param string 数据库中的表名 @H_403_0@ @param string
数据库的连接
用户名 @H_
403_0@
@param string 数据库的连接密码 @H_403_0@ @param string
数据库的表名 @H_
403_0@
@param string 数据库的 @H_403_0@ @param string
错误页面 @H_
403_0@
@param string sql语句 @H_403_0@ @H_
403_0@
@return text 返回CSV格式的内容 @H_403_0@ @H_
4030@* @access public @H4030@*/ @H403_0@function PMA_exportData(host,db,user,pass,filename,table,crlf,error_url,
sqlquery) { @H4030@what="csv"; @H403_0@csv
terminated=" "; @H403_0@csv
separator=","; @H403_0@csv
enclosed=" "; @H403_0@csv
escaped=""; @H403_0@
MysqL_connect(host,pass) or die("不能连接
数据库,
错误代码如下:" .
MysqLerror()); @H403_0@
MysqL_select
db(db); @H403_0@result =
MysqL_query(
sqlquery); @H403_0@fields_cnt =
MysqL_num
fields(result); @H4030@cc=""; @H4030@//fp = fopen(filename,'w'); @H4030@// 格式化数据 @H403_0@while (row =
MysqL_fetch
row(result)) { @H403_0@schema
insert = ''; @H403_0@for (j = 0; j < fields
cnt; j++) { @H403_0@if (!isset(row[j]) || is
null(row[j])) { @H403_0@schema
insert .="NULL"; //用什么来替换空值 @H4030@} elseif (row[j] == '0' || row[j] != '') { @H4030@// loic1 :用引号包含字段值 @H403_0@if (csv
enclosed == '') { @H403_0@schema
insert .= row[j]; @H4030@} else { @H403_0@schema_insert .= csv
enclosed @H403_0@. str_replace(csv_enclosed,csv_escaped . csv
enclosed,row[j]) @H403_0@. csv
enclosed; @H4030@} @H4030@} else { @H403_0@schema
insert .= ''; @H4030@} @H403_0@if (j < fields
cnt-1) { @H403_0@schema_insert .= csv
separator; @H4030@} @H4030@} // end for @H403_0@// fwrite(fp,schema_insert . csv
terminated); @H403_0@cc.=schema_insert . csv
terminated; @H4030@} // end while @H403_0@
MysqL_free
result(result); @H4030@// fclose(fp); @H4030@return cc; @H4030@} @H4030@?> @H4030@ ,放置:import.