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

question-closed Import pliku csv do bazy danych

Object Storage Arubacloud
0 głosów
1,354 wizyt
pytanie zadane 1 lutego 2018 w PHP przez hiper007 Stary wyjadacz (11,270 p.)
zamknięte 7 lutego 2018 przez hiper007

Witam!

Mam pytanko ;) Importuje plik csv do bazy.Import przebiegł poprawnie rekordy dodały się do bazy kod poniżej. Ale oprócz tego co importuje, chcę dodać do każdego wiersza trzy dodatkowe wartości (w trzech następnych kolumnach) przesyłane poprzez zmienne sesyjne:

                                            $login=$_SESSION['login'];
                                            $data_mod=date("H:i:s d-m-Y");
                                            $zadanie='Import';

Oczywiscie mają one być dodane na końcu każdego wiersza ;)

 

    $host='localhost'; 
    $db_user= 'root'; 
    $db_password= 'appt';
    $db= 'awizacja'; 
    $conn=mysql_connect($host,$db_user,$db_password) or die (mysql_error());
    mysql_select_db($db) or die (mysql_error());
    echo $filename=$_FILES["file"]["tmp_name"];
    if($_FILES["file"]["size"] > 0)
    {
        $file = fopen($filename, "r");
        while (($emapData = fgetcsv($file, 10000, ";")) !== FALSE)
        {
           
            $sql = "INSERT into appt (awizacja,data_awizacja,godz_awiz,godz_pod,zamowienie,nazwa,kanal,spedycja,linii,palety,kartony,rampa,komentarz,artykul,il_zamowien,nr_naczepy,	tel_kierowcy,status,color,kod) values ('$emapData[0]','$emapData[1]','$emapData[2]','$emapData[3]','$emapData[4]','$emapData[5]','$emapData[6]','$emapData[7]','$emapData[8]','$emapData[9]','$emapData[10]','$emapData[11]','$emapData[12]','$emapData[13]','$emapData[14]','$emapData[15]','$emapData[16]','$emapData[17]','$emapData[18]','$emapData[19]')";
            mysql_query($sql);
        }
        fclose($file);
        $_SESSION['pliksucc']="Awizacje zostały poprawnie importowane do bazy!";
		require_once "header.php";
		exit();
		
    }
    else
        $_SESSION['plikerr']="Wybierz plik o rozszerzeniu (.csv)";
		require_once "header.php";
		exit();

 

Jak zmodyfikować zapytanie,żeby dodawało do każdego zaimportowanego wiersza po kolumnie kod trzy dodatkowe wartości : login data_mod zadanie i trzech oddzielnych kolumnach.

komentarz zamknięcia: Problem rozwiazany
komentarz 7 lutego 2018 przez hiper007 Stary wyjadacz (11,270 p.)
edycja 7 lutego 2018 przez hiper007
$sql2 = "INSERT into appt_mod (awizacja,id_awizacja,data_awizacja,godz_awiz,godz_pod,zamowienie,nazwa,kanal,spedycja,linii,palety,kartony,rampa,komentarz,artykul,il_zamowien,nr_naczepy,tel_kierowcy,status,color,kod,autor,data_mod,zadanie) values ('$emapData[0]','$id_awizacja','$emapData[1]','$emapData[2]','$emapData[3]','$emapData[4]','$emapData[5]','$emapData[6]','$emapData[7]','$emapData[8]','$emapData[9]','$emapData[10]','$emapData[11]','$emapData[12]','$emapData[13]','$emapData[14]','$emapData[15]','$emapData[16]','$emapData[17]','$emapData[18]','$emapData[19]','$login','$data_mod','$zadanie')";
            mysql_query($sql2);

Temat zamkniety. Sprawa rozwiazana.

komentarz 7 lutego 2018 przez Arkadiusz Waluk Ekspert (287,950 p.)
Wypadałoby podać jak to rozwiązałeś, aby inni szukający mogli znaleźć rozwiązanie, a nie tylko informację "udało się".
1
komentarz 7 lutego 2018 przez hiper007 Stary wyjadacz (11,270 p.)
Rozwiazanie dodane ;)
1
komentarz 7 lutego 2018 przez Arkadiusz Waluk Ekspert (287,950 p.)
Ok.

Od siebie mogę dodać tylko, że funkcje zaczynające się od mysql_ są od PHP 7 usunięte (a od dawna zdeprecjonowane) i nie powinno się ich używać, w PHP 7 kod po prostu nie zadziała. Należy użyć PDO lub mysqli. Podobnie podstawianie danych wprost do zapytania naraża Cię na atak sql injection i np. wyciek lub utratę bazy - zamiast tego powinno się bindować dane (najlepsza opcja, nie ma możliwości ataku) albo chociaż jakkolwiek je zabezpieczać.

Podobne pytania

0 głosów
0 odpowiedzi 1,542 wizyt
pytanie zadane 26 czerwca 2018 w Visual Basic przez niezalogowany
0 głosów
2 odpowiedzi 2,221 wizyt
pytanie zadane 23 maja 2018 w SQL, bazy danych przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
1 odpowiedź 2,033 wizyt

92,579 zapytań

141,431 odpowiedzi

319,657 komentarzy

61,963 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...