2

我正在尝试使用 PHP 将表转储到 MySQL 文件中。但我得到的是一个空数组,并没有创建任何文件。如果我删除指令“ INTO OUTFILE '$mysqldumpfile'”,一切正常。请在这里输入代码:

<?php
$tablename = "song";
$mysqldumpfile = "mysql_dump.sql";
$pdo_options = array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', );

try {
    // Call MySQL DB
    $sql = new PDO($servername, $username, $password, $pdo_options);
} catch (PDOException $e) {
    die("DB not available");
}

// Dump MySQL
$sth = $sql->prepare("SELECT * INTO OUTFILE '$mysqldumpfile' FROM $tablename");
$sth->execute();
$result = $sth->fetchAll();
print_r($result);
if(! $result) {
  die('Could not load data : ' . mysql_error());
}
$sql = null;
?>
4

2 回答 2

1

确保 mysql 有权访问该文件,并且在查询之前该字段不能存在,mysql 必须是生成文件的那个,并且文件路径必须是绝对的

于 2015-04-24T09:03:26.323 回答
-1

看看这是否适合你:

http://stackoverflow.com/a/16910191/2511206
OR
http://stackoverflow.com/a/26749685/2511206
于 2015-04-24T09:19:53.887 回答