Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][SQL][MSSQL]Load data infile o czym zapominam?, Load data infile nie działa
frankiejojo
post
Post #1





Grupa: Zarejestrowani
Postów: 111
Pomógł: 2
Dołączył: 20.07.2014

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Zapomniales wyswietlic blad bazy by zobaczyc o czym informuje cie baza
Go to the top of the page
+Quote Post
olszam
post
Post #3





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
frankiejojo
post
Post #4





Grupa: Zarejestrowani
Postów: 111
Pomógł: 2
Dołączył: 20.07.2014

Ostrzeżenie: (0%)
-----


  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
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Nadal nie wyswietlasz bledu zapytania... Jakbys to zrobil to juz dawno bys znal odpowiedz na pytanie: czemu mi zapytanie nie dziala....
Go to the top of the page
+Quote Post
frankiejojo
post
Post #6





Grupa: Zarejestrowani
Postów: 111
Pomógł: 2
Dołączył: 20.07.2014

Ostrzeżenie: (0%)
-----


Nospor - wiem, że gdybym wiedział jaki jest błąd to bym znał rozwiązanie.
Jak się zapytać w php o kod błędu?
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




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.
Go to the top of the page
+Quote Post
frankiejojo
post
Post #8





Grupa: Zarejestrowani
Postów: 111
Pomógł: 2
Dołączył: 20.07.2014

Ostrzeżenie: (0%)
-----


  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
Go to the top of the page
+Quote Post
Star
post
Post #9





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


  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 (IMG:style_emoticons/default/smile.gif)

Ten post edytował Star 30.06.2016, 15:24:20
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




@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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 20:16