• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pobieranie pliku, który jest wynikiem zapytania

42 Warsaw Coding Academy
+1 głos
292 wizyt
pytanie zadane 1 marca 2021 w PHP przez stanislawruszkowski Obywatel (1,310 p.)

Witam, 

Jak zacząć pobieranie w przeglądarce wyniku tego zapytania?

SELECT * FROM nazwa_tabeli INTO OUTFILE 'data.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY  '\n'

Z góry dziękuję za odpowiedź.

2 odpowiedzi

0 głosów
odpowiedź 2 marca 2021 przez VBService Ekspert (256,600 p.)
wybrane 3 marca 2021 przez stanislawruszkowski
 
Najlepsza

Propozycja.  smiley
Wykonaj najpierw ten test, czy do folderu "tymczasowego", na który wskazuje zmienna tmpdir (czyli ma dostęp mysql)

SHOW VARIABLES LIKE 'tmpdir';

ma też "dostęp" php.

<?php

  $db_user = '';
  $db_password = '';
  $db_name = '';

  $mysqli = new mysqli('localhost', $db_user, $db_password, $db_name);

  if ($mysqli->connect_errno) {
    echo "Nie udało się połączyć z bazą danych: " . $mysqli->connect_error;
    exit();
  }

  $sql = "SHOW VARIABLES LIKE 'tmpdir'";
  $result = $mysqli->query($sql);
  $rows = $result->fetch_row();
  //var_dump($rows);

  $result->free();

  $csv_file_name = 'data.csv';
  $csv_full_path = "{$rows[1]}/{$csv_file_name}";
  echo '<b>Pełna ścieżka do pliku:</b> ' . $csv_full_path . '<br>';

  $sql = "SELECT * FROM nazwa_tabeli "
       . "INTO OUTFILE '{$csv_full_path}' FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY ';\n'";

  if ($result = $mysqli->query($sql)) {
    if ($mysqli->affected_rows) {
      echo 'Zwróconych wierszy z danymi: ' . $mysqli->affected_rows . '<br><br>'
         . 'Zawrtość pliku<br>' . str_replace(';', '<br>', file_get_contents($csv_full_path));  
    } else {
      echo 'Brak zwróconych wierszy.';
    }
  } else {
    echo 'Problem z zapytaniem sql, INTO OUTFILE: ' . $mysqli->error;
  }

  $mysqli->close();
?>

 

Where MySQL Stores Temporary Files [ 1 ] [ 2 ]

+1 głos
odpowiedź 1 marca 2021 przez Comandeer Guru (607,060 p.)

Wysłać odpowiedni nagłówek i następnie wczytać ten plik (jest tam nawet cały przykład tego).

Podobne pytania

0 głosów
1 odpowiedź 152 wizyt
pytanie zadane 9 listopada 2018 w PHP przez Greeenone Pasjonat (16,100 p.)
0 głosów
2 odpowiedzi 274 wizyt
pytanie zadane 9 maja 2023 w PHP przez pewnior Nowicjusz (120 p.)
0 głosów
0 odpowiedzi 262 wizyt
pytanie zadane 19 kwietnia 2018 w PHP przez OdsetekGlupoty Pasjonat (15,360 p.)

93,395 zapytań

142,389 odpowiedzi

322,569 komentarzy

62,754 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...