我知道还有很多其他类似的问题,但我几乎已经查看了所有其他帖子,所有其他建议都没有用。
我目前正在使用macOS Sierra版本10.12.2
MySQL版本5.7.17
SELECT @@ GLOBAL.secure_file_priv;和SHOW VARIABLES一样" secure_file_priv&#34 ;;将secure_file_priv =显示为NULL。
我的系统上没有my.cnf文件(查找:my.cnf:没有这样的文件或目录)
我看过很多帖子提到改变了secure_file_priv的值,但我找不到它。
我在这里发表了以下帖子:
我希望这个回答与我的情况有关:
在一天结束时,看起来更改secure_file_priv是开始的地方,我找不到它。
我确信上面的OUTFILE位置可能不正确,但那是因为我不知道我在哪里有文件访问权限,因为我不知道如何更改/定位secure_file_priv。
答案 0 :(得分:1)
所以我决定不担心命令行并创建一个.php文件,将MySQL数据库直接导出到Excel中。
解决方案的灵感源于以下内容:(显示这个家伙有点爱!)
作者:Shahroze Nawaz
日期:2016年11月8日
标题:如何使用PHP和MySQL导入和导出CSV文件
网址:https://www.cloudways.com/blog/import-export-csv-using-php-and-mysql/
这是主要的index.php
<pre>
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" crossorigin="anonymous">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" crossorigin="anonymous"></script>
</head>
<body>
<div id="wrap">
<div class="container">
<div class="row">
<!--Database Table Display-->
<?php
include 'database_table.php';
?>
<!--End Import Form Button-->
<!--Export Form Button-->
<form class="form-horizontal" action="export.php" method="POST" name="upload_excel"
enctype="multipart/form-data">
<div class="form-group">
<div class="col-md-4 col-md-offset-4">
<input type="submit" name="Export" class="btn btn-success" value="Export to Excel"/>
</div>
</div>
</form>
<!--End Export Form Button-->
</div>
</div>
</div>
</body>
</html>
</pre>
这是表单操作的export.php:
<pre>
$dbhost = "******";
$dbuser = "******";
$dbpass = "******";
$dbname = "******";
$connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$selection = "SELECT * <table name>";
$result = mysqli_query($connection, $selection);
if(isset($_POST["Export"])) {
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename = leads.csv');
$output = fopen("php://output", "w");
fputcsv($output, array('ID', 'First Name', 'Last Name', 'Email', 'Phone', 'State', 'Specialty', 'Sourcecode', 'Date'));
while($row = mysqli_fetch_assoc($result)) {
fputcsv($output, $row);
}
fclose($output);
}
</pre>
这是打印在index.php文件中的数据库表,该文件显示了带有引导程序格式的MySQL数据库:
<pre>
<?php
$dbhost = "******";
$dbuser = "******";
$dbpass = "******";
$dbname = "******";
$connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
$selection = "SELECT * <table name>";
$result = mysqli_query($connection, $selection);
if (mysqli_num_rows($result) > 0) {
echo "<div class='table-responsive'>
<table id='myTable' class='table table-striped table-bordered'>
<thead>
<tr>
<th>ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
<th>Phone</th>
<th>State</th>
<th>Specialty</th>
<th>Sourcecode</th>
<th>Time</th>
</tr>
</thead>
<tbody>";
while($row = mysqli_fetch_assoc($result)) {
echo "<tr>
<td>" . $row['id']."</td>
<td>" . $row['first_name']."</td>
<td>" . $row['last_name']."</td>
<td>" . $row['email']."</td>
<td>" . $row['phone']."</td>
<td>" . $row['state']."</td>
<td>" . $row['specialty']."</td>
<td>" . $row['source_code']."</td>
<td>" . $row['date_submitted']."</td>
</tr>";
}
echo "</tbody>
</table>
</div>";
} else {
echo "You have no records...";
}
?>
</pre>