【问题标题】:Export a PHP/MYSQL database, table by table逐表导出 PHP/MYSQL 数据库
【发布时间】:2013-03-25 12:25:01
【问题描述】:

我正在尝试将一组表保存到单独的文件中。为什么这段代码不起作用?

<?php
$query = "SELECT * INTO OUTFILE 'pessoa_Out.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '\"'       LINES TERMINATED BY '#' FROM $tables[$i]";
?>

我已经尝试保存一个表并且我成功了。我也可以列出数组值,所以问题一定出在这一行。

【问题讨论】:

  • 错误是什么?可能是权限问题(即进程可以写入该文件吗?)
  • $query="SELECT * INTO OUTFILE 'pessoa_Out.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '#' FROM $tables[$i]";跨度>
  • 这是代码对不起我忘了把它放在主要问题中
  • 我认为它在循环中并且 SQL 每次都覆盖文本文件?或者您在字符串中有一个数组引用。 FROM $tables[$i]"; -> FROM".$tables[$i];
  • 如果我尝试备份单个表,我会成功。但是,如果我尝试将所有表保存在数据库中,这是不可能的

标签: php mysql database arrays backup


【解决方案1】:

如果 sql 处于循环中,那么您每次都会覆盖文件。也不建议将变量放在字符串中,因为除非您也使用大括号,否则数组不会计算!

<?php
for($i=0;$i<sizeof($tables);$i++)
{
    $query = "SELECT * INTO OUTFILE '".$tables[$i]."_Out.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '\"'       LINES TERMINATED BY '#' FROM ".$tables[$i];
    mysqli_query($query);
}
?>

【讨论】:

  • 非常感谢它现在完美运行。你拯救了我的一天。
猜你喜欢
  • 2015-09-09
  • 2014-04-07
  • 2013-12-22
  • 1970-01-01
  • 2020-09-12
  • 2018-06-16
  • 1970-01-01
  • 2022-10-17
  • 2013-09-09
相关资源
最近更新 更多