首页 > 开发 > PHP > 正文

php 在线导入mysql大数据程序

2024-05-04 23:36:08
字体:
来源:转载
供稿:网友

我想很多人经常会用phpmyadmin进行数据的导入与导出,但是在很多使用虚拟主机的情况下,导出没什么问题但是导入就存在很大的问题了,我想这里我也不多说了站长都会知道了.好了我们现在来看看php把mysql数据库里面的数据导入程序吧.

php 在线导入 mysql 大数据程序

 

 
  1. <?php 
  2. header("content-type:text/html;charset=utf-8"); 
  3. error_reporting(E_ALL); 
  4. set_time_limit(0); 
  5. $file='./test.sql'
  6. $data=file($file); 
  7.  
  8. echo "<pre>"
  9. //print_r($data); 
  10. $data_new=array(); 
  11. $tmp=array(); 
  12. foreach ($data as $line) { 
  13.  
  14. $line=trim($line); 
  15. if(strlen($line)==0){ 
  16. continue
  17. if(substr($line,0,2)=='--'){ 
  18. continue
  19. if(substr($line,0,2)=='/*'){ 
  20. continue
  21. $tmp[]=$line
  22. if(substr($line,-1)==';'){ 
  23. $query=implode('',$tmp); 
  24. $tmp=array(); 
  25. $data_new[]=$query
  26.  
  27. $mysqli=new mysqli('localhost','root','root','test'); 
  28. if($mysqli->connect_errno){ 
  29. exit('数据库连接失败!'); 
  30. $mysqli->query("set names utf8"); 
  31.  
  32. $error=array(); 
  33. foreach($data_new as $sql){ 
  34. $mysqli->query($sql); 
  35. $r=$mysqli->error; 
  36. if($r$error[]=$r
  37. print_r($r); 
  38.  
  39. /* 
  40.  
  41. mysql>ALTER TABLE tbl2 DISABLE KEYS; 
  42. Query OK, 0 rows affected (0.00 sec) 
  43.  
  44. mysql>INSERT INTO tbl2 SELECT * FROM tbl1; 
  45. Query OK, 2000000 row affected (36.30 sec) 
  46. Records: 2000000 Duplicates: 0 Warnings: 0 
  47.  
  48. mysql>ALTER TABLE tbl2 ENABLE KEYS; 
  49. Query OK, 0 rows affected (44.55 sec) 
  50.  
  51. */ 

适用情况:phpmyadmin导出的sql文件过大,无法导入到线上phpmyadmin中

把该程序和sql文件上传到空间中,用完后删除即可。

分享一个其他网友的方法吧,小伙伴们也可以参考下

 

 
  1. $rate_info = file("$table.txt");  
  2. print $n_s = chop($rate_info[0]);  
  3. for($start=1;$start 
  4. {  
  5. $value="";  
  6. for ($i=$start;$i<($start+$n_s-1);$i++)  
  7. {  
  8. $tmp = str_replace("&&jimmy&&"," ",chop($rate_info[$i]));  
  9. $value .= "'".addslashes($tmp)."',";  
  10. }  
  11. $tmp = str_replace("&&jimmy&&"," ",chop($rate_info[$start+$n_s-1]));  
  12. $value .= "'".$tmp."'";  
  13. $query = "insert into $table values (".$value.")";  
  14. print mysql_error();  
  15. mysql_query($query);  
  16. print $start." ";  
  17. }  
  18. print "ostart";  
  19. ?> 

以上所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表