2017-01-24 3 views
0

Я понимаю, что есть много других подобных вопросов, но я довольно много рассмотрел все остальные сообщения и все остальные предложения не сработали.Я пытаюсь экспортировать таблицу MySQL, но я получаю --secure-file-priv

настоящее время я использую версию MacOS Sierra 10.12.2

MySQL версии 5.7.17

SELECT @@ GLOBAL.secure_file_priv; и SHOW VARIABLES LIKE "secure_file_priv"; показывая secure_file_priv = в NULL.

Я не имею my.cnf файл на моей системе (не найти: my.cnf: Нет такого файла или каталога)

Я прочитал много постов, упомянутые изменения значения secure_file_priv, но я не могу найти его.

Следующие посты на здесь я обратился:

Solution 1

Solution 2

Solution 3

Я хочу этот был дан ответ, как это имеет отношение к моей ситуации:

Solution 4

Solution 5

В конце дня он выглядит как меняется secure_file_priv это место, чтобы начать, я просто не могу найти его.

Я уверен, что местоположение OUTFILE может быть неправильным для вышеуказанного, но это потому, что я не знаю, где у меня есть доступ к файлу, потому что я не знаю, как изменить/найти файл secure_file_priv.

ответ

1

Поэтому я решил не беспокоиться о командной строке и создал файл .php, который экспортирует базу данных MySQL непосредственно в Excel.

Решение вдохновлен из следующих вариантов: (Показать этот чувак какой-то любовь!)

Автор: Shahroze Наваз

Дата: 8 ноября 2016

Название: Как импортировать Экспорт файлов CSV с использованием PHP и MySQL

URL : 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> 

А вот таблица базы данных, выводимого в индекс.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>