Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL][MSSQL]Load data infile o czym zapominam?
Forum PHP.pl > Forum > Przedszkole
frankiejojo
Witam,
Usiłuje załadować dane do bazy za pomocą pliku csv
  1. $sql = "LOAD DATA INFILE 'test.csv' INTO TABLE weryfikacja";
  2. $go = $db1->query($sql);

Funkcja cała przechodzi spod php ale nie wywołuje żadnego efektu - co pomojam?
nospor
Zapomniales wyswietlic blad bazy by zobaczyc o czym informuje cie baza
olszam
w tym samym miejscu znajduje się plik co odpalany skrypt? Bo w przypadku gdy np. z pliku index includujesz drugi skrypt to pamiętać trzeba że ścieżka zaczyna się tam gdzie plik index jest odpalany.
frankiejojo
  1. @ $db1 = new mysqli(tralala);
  2. if (mysqli_connect_errno())
  3. {
  4. echo 'Błąd: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
  5. exit;
  6. }
  7.  
  8. mysqli_query($db1, 'set names utf8');
  9. mysqli_query($db1, 'set character set utf8');
  10. mysqli_query($db1, 'set collation_connection = utf8_polish_ci');
  11. $sql = "LOAD DATA INFILE 'test.csv' INTO TABLE weryfikacja";
  12. $go = $db1->query($sql);


Tak wygląda całość,
Plik test.csv znajduje się w tym samym folderze co ten plik php
nospor
Nadal nie wyswietlasz bledu zapytania... Jakbys to zrobil to juz dawno bys znal odpowiedz na pytanie: czemu mi zapytanie nie dziala....
frankiejojo
Nospor - wiem, że gdybym wiedział jaki jest błąd to bym znał rozwiązanie.
Jak się zapytać w php o kod błędu?
nospor
Skoro uzywasz mysqli to wez zajrzyj do manuala i nie rob z siebie takiej sierotki...

http://php.net/manual/en/mysqli.error.php

Poza tym mieszasz style. Zdecyduj sie na jeden i albo uzywaj mysqli obiektowego albo proceduralnego i nie mieszaj obu bo pewnie przez to tez masz bledy.
frankiejojo
  1. $db1 = new mysqli('');
  2. if (mysqli_connect_errno())
  3. {
  4. echo 'Błąd: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
  5. exit;
  6. }
  7. mysqli_query($db1, 'set names utf8');
  8. mysqli_query($db1, 'set character set utf8');
  9. mysqli_query($db1, 'set collation_connection = utf8_polish_ci');
  10.  
  11.  
  12. $sql = "LOAD DATA INFILE 'test.csv' INTO TABLE weryfikacja";
  13.  
  14. $wynik = $db1->query($sql);
  15.  
  16.  
  17. If(!$wynik)
  18. {
  19. printf("Errormessage: %s\n", mysqli_error($wynik));
  20. }
  21.  
  22. if (!$wynik)
  23. {
  24. echo '</br>z mysgl dalej nie chodzi';
  25. }


Dałem wszędzie obiektowy,

Niestety: printf("Errormessage: %s\n", mysqli_error($wynik)); powoduje komunikat Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in ine 22 Errormessage: - wiem, że to jakiś błąd składni - ale nie wiem gdzie
Star
  1. if (mysqli_connect_errno())
  2. {
  3. echo 'Błąd: Połączenie z bazą danych nie powiodło się. Spróbuj jeszcze raz później.';
  4. }
  5.  
  6. mysqli_query($db1, 'set names utf8');
  7. mysqli_query($db1, 'set character set utf8');
  8. mysqli_query($db1, 'set collation_connection = utf8_polish_ci');


to chyba nie jest obiektowo smile.gif
nospor
@frankiejojo ani nie czytasz co ci piszemy, ani nie czytasz co napisane w dokumentacji i tylko ciagle mieszaszz styl proceduralny z obiektowym to nic dziwnego ze ci nawet wyswietlenie bledu nie dziala.

W linku co ci podalem masz wyjasnione i pokazane jak wyglada styl obiektowy a jak proceduralny dla mysqli.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.