当数据库文件超过2M的时候就需要进行特别的处理了,处理办法见下文
如何用php导出导入大数据库,
$tname = mysql_query("select * from 要导出的表名");
if(mysql_num_rows($tname) <= 0) exit(); //数据表为空的就直接退出了解
$handle = fopen("$table.txt","w"); 我们以读写方式打开一txt文件.
$n_s = mysql_num_fields($tname); //取得数据的段
fputs($handle,$n_s." ");写文件
for($start=0;$start
{
$msg = mysql_fetch_row($tname);
for($i=0;$i<$n_s;$i++)
{
$msg[$i] = str_replace(" ","&&jimmy&&",$msg[$i]);
$msg[$i] = str_replace(" " ,"&&jimmy&&",$msg[$i]);
fputs($handle,$msg[$i]." ");
}
fputs($handle,"------- php2000 dump data program V1.0 for MySQL -------- ");
}
fclose($handle);
print "ostart";
?>
好了现在数据导出写好了,现在我们就来看怎么把我们刚才写的导出的数据导入到数据表当中去吧,这里只要按照我们刚才的规则来就Ostart了.
$rate_info = file("$table.txt");
print $n_s = chop($rate_info[0]);
for($start=1;$start
{
$value="";
for ($i=$start;$i<($start+$n_s-1);$i++)
{
$tmp = str_replace("&&jimmy&&"," ",chop($rate_info[$i]));
$value .= "'".addslashes($tmp)."',";
}
$tmp = str_replace("&&jimmy&&"," ",chop($rate_info[$start+$n_s-1]));
$value .= "'".$tmp."'";
$query = "insert into $table values (".$value.")";
print mysql_error();
mysql_query($query);
print $start." ";
}
print "ostart";
?>
好了大数据的导入与导出就不存在问题了,希望给各位没有自己的主机的朋友一些帮助吧.
还没有人抢沙发呢~