1

当您从 phpMyAdmin 导出数据库时,它会返回一个 SQL 文件,其中包含创建表查询以及当前存储的所有表数据和信息。

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

这可能吗,如果可以的话怎么办?

4

1 回答 1

1

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

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

您应该能够使用PDO 的 get column meta来获取初始生成表 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)
}

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

于 2012-08-21T11:09:41.310 回答