Я пытаюсь сбросить таблицу в файл MySQL, используя PHP.
Но то, что я получаю, это пустой массив, а не какой-либо файл создается. Хотя, если я уберу инструкцию «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;
?>
убедитесь, что у mysql есть права на доступ к этому файлу, также поле не может существовать до запроса, mysql должен быть тем, который генерирует файл, и путь к файлу должен быть абсолютным
Посмотрите, работает ли это для вас:
http://stackoverflow.com/a/16910191/2511206
OR
http://stackoverflow.com/a/26749685/2511206