仓酷云

标题: PHP网页设计从 MySQL 导入导出大批数据的法式完成方... [打印本页]

作者: 只想知道    时间: 2015-2-4 00:18
标题: PHP网页设计从 MySQL 导入导出大批数据的法式完成方...
你的留言本应该加入注册以及分页功能了,而如果你更强的话,UI(用户界面)也可以加强,完成之后,感觉是不是特有成就感?不管怎么样,咱好歹是写了一个动态网站程序了,放在自己的网站上耍耍吧。mysql|法式|数据   人人必定利用过 phpmyadmin 外面的数据库导入,导出功效,十分便利。然而在实践使用中,我发明以下几个成绩:

1 数据库超越必定尺寸,好比6M 这时候利用导出普通没成绩,可以准确的保留到本机硬盘下面,然而导入则不可!缘由是:普通的 PHP.INI 外面设置一时文件/上传文件的巨细限制为2M,而phpmyadmin利用了上传的体例,形成掉败。

2 导出到硬盘的 .SQL 文件在导回时,常常呈现因为某些单引号的成绩引发掉败,形成导入掉败,只能用 mysql等使用法式导入了。

我的数据库已超越10M,所以必需处理这个成绩。我的思绪:

导出: 用phpmyadmin 保留数据库/表格布局,用剧本读取数据库内容并保留到文件外面!
导入: 用phpmyadmin 恢单数据库/表格布局,用剧本读取文件,然后保留到库外面!

导出法式以下:挪用办法为 ****.php?table=tablename
这个复杂的法式今朝一次保留一个表格!!每行动一个字段的数据!!

<?
if($table=="")exit();
mysql_connect("localhost","name","password");
mysql_select_db("database");
$result = mysql_query("select * from $table");
if(mysql_num_rows($result) <= 0) exit();
echo "入手下手转换数据到文本...
";
$handle = fopen("$table.txt","w");
$numfields = mysql_num_fields($result);
fputs($handle,$numfields."rn");
for($k=0;$k<mysql_num_rows($result);$k++)
{
$msg = mysql_fetch_row($result);
for($i=0;$i<$numfields;$i++)
{
$msg[$i] = str_replace("rn"," ",$msg[$i]);
$msg[$i] = str_replace("n" ," ",$msg[$i]);
fputs($handle,$msg[$i]."rn");
}
fputs($handle,"------- php2000 dump data program V1.0 for MySQL --------rn");
}
fclose($handle);
echo "ok";
?>

导入的法式以下:用法同下面!

<?
if($table=="")exit();
mysql_connect("localhost","name","password");
mysql_select_db("database");
$message = file("$table.txt");
echo $numfields = chop($message[0]);
for($k=1;$k<count($message);$k+=($numfields+1))
{
$value="";
for ($i=$k;$i<($k+$numfields-1);$i++)
{
$tmp = str_replace(" ","rn",chop($message[$i]));
$value .= "'".addslashes($tmp)."',";
}
$tmp = str_replace(" ","rn",chop($message[$k+$numfields-1]));
$value .= "'".$tmp."'";
$query = "insert into $table values (".$value.")";
echo mysql_error();
mysql_query($query);
echo $k." ";
}
echo "ok";
?>

利用办法和能够的成绩!
1 导入时 file()函数能够会有成绩(我的10M的数据没呈现成绩),可以改成 fopen()然后没次读一行!!
2 导入,导出都需求用 ftp 操作,也就是导出后,用 ftp 把数据转到本机,导入时先用ftp转移数据到办事器!
   PHP的理解是新手最难迈过的一道门槛,不过你应该感到幸运的是PHP已经最大极限的为了新手而努力了,如果你学过其他的语言,也许会觉得PHP的确相当的简单,但是如果你之前什么都没学过,那么阿弥陀佛,硬着头皮琢磨吧。
作者: 第二个灵魂    时间: 2015-2-4 11:14
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 谁可相欹    时间: 2015-2-6 21:04
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
作者: 分手快乐    时间: 2015-2-7 20:00
做为1门年轻的语言,php一直很努力。
作者: 乐观    时间: 2015-2-9 04:41
爱上php,他也会爱上你。
作者: 只想知道    时间: 2015-2-26 22:48
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: 精灵巫婆    时间: 2015-3-3 23:37
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 柔情似水    时间: 2015-3-5 09:46
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 再见西城    时间: 2015-3-7 09:08
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 飘灵儿    时间: 2015-3-10 22:16
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 再现理想    时间: 2015-3-11 17:14
实践是检验自己会不会的真理。
作者: 小妖女    时间: 2015-3-19 02:59
首推的搜索引擎当然是Google大神,其次我比较喜欢 百度知道。不过搜出来的结果往往都是 大家copy来copy去的,运气的的概率很大。
作者: 仓酷云    时间: 2015-3-25 06:07
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 简单生活    时间: 2015-4-1 16:33
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 爱飞    时间: 2015-4-1 20:11
实践是检验自己会不会的真理。
作者: 兰色精灵    时间: 2015-4-3 03:25
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 莫相离    时间: 2015-4-4 03:51
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 变相怪杰    时间: 2015-4-13 17:57
兴趣是最好的老师,百度是最好的词典。
作者: 蒙在股里    时间: 2015-4-16 09:10
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 若相依    时间: 2015-4-16 15:09
这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2