【发布时间】:2015-04-24 08:54:34
【问题描述】:
我正在尝试使用 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;
?>
【问题讨论】:
-
几个想法: fetchall - 将是空的,因为结果不是返回,而是保存;所以 print_r 不会有太多内容。您的文件:服务器上的文件权限?脚本需要有写入文件的权限。
-
正如我在帖子开头所说的,没有创建任何文件。并且数组是空的。
标签: php mysql into-outfile select-into-outfile