模拟phpMyAdmin导出功能

时间:2012-08-21 11:06:54

标签: php mysql database phpmyadmin export

从phpMyAdmin导出数据库时,它会返回一个带有create table查询的SQL文件以及当前存储的所有表数据和信息。

我想创建一个按钮,将其下载到用户的文件中。

这是可能的,如果是这样的话?

1 个答案:

答案 0 :(得分:1)

你使用一个mime类型的标题,建议用户下载文件并输出“动态创建”的sql插入代码,它将创建整个表格。

header("Content-type: application/octet-stream");
header("Content-type: application/force-download");

您可以使用PDO's get column meta来获取初始make表SQL的列类型。

输出如下:

<?php
$select = $DB->query('SELECT COUNT(*) FROM fruit');
$meta = $select->getColumnMeta(0);
var_dump($meta);
?>

array(6) {
  ["native_type"]=>
  string(7) "integer"
  ["flags"]=>
  array(0) {
  }
  ["name"]=>
  string(8) "COUNT(*)"
  ["len"]=>
  int(-1)
  ["precision"]=>
  int(0)
  ["pdo_type"]=>
  int(2)
}

然后查询数据库并使用返回的数据为初始查询返回的每一行生成一个insert语句。