php下载mysql数据

半醉人间 发布于 2014/06/14 11:09
阅读 148
收藏 1

php下载mysql数据.量比较大,大约有5到50万的数据。

php从数据库中读取,输出txt给用户下载

$list="连接数据库,查询数据";
$SelectField="这个表的字段";


header ("Content-Type: application/octet-stream");
$filename = "1.txt";
if (preg_match ("/MSIE/",$_SERVER['HTTP_USER_AGENT'])) {
header ('Content-Disposition:  attachment; filename="' . $filename . '"');
} elseif (preg_match ("/Firefox/",$_SERVER['HTTP_USER_AGENT'])) {
header ('Content-Disposition: attachment; filename*="' . $filename . '"');
} else {
header ('Content-Disposition: attachment; filename="' . $filename . '"');
}

foreach ($SelectField as $key => $value) {
     //输出字段              
}

foreach ($List as $keyTop => $valueTop) {
	echo "\r\n";
	foreach ($SelectField as $key => $value) {
			echo $value;	//输出字段里每一个值	
	}
}



数据量小还可以,数据量大就不行了。很慢很慢。各位有什么办法可以帮帮我,说一下思路也行。

数据库和程序不是同一服务器。不可以用sql语句生成txt

加载中
0
工程师爸爸
工程师爸爸
明显sql语句干的事情 非得用 php 干
0
大别阿郎
大别阿郎

这个数量级,使用phpMyAdmin就可以export出来吧。

比较大的,要管理员登录到服务器上使用命令行导出,灰常快,1G数据用不了1分钟。

#/your mysql path/bin/mysqldump -u root -p database_name > /your destination path/xxx.sql

输入root密码。当然其它有权限的用户也可以。

输入命令后

0
fxhover
fxhover
使用mysql的into outfile导出数据到一个文件,然后php提供下载功能。
fxhover
fxhover
回复 @半醉人间 : 是的,into oufile只能导出到数据库本地,可以再使用scp复制到php服务器,或者直接用mysqldump
半醉人间
半醉人间
这个要求php和mysql同一个服务器吧?
返回顶部
顶部