Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd przy LOAD DATA INFILE
Forum PHP.pl > Forum > Bazy danych > MySQL
slimboj
Witam,
Stworzyłem zapytanie do bazy uploadujące dane z pliku do tabeli "test". Niestety przy wykonywaniu skryptu pojawia się komunikat:
Cytat
Error: Access denied for user '*****'@'%' (using password: TAK) Error no.: 1045

Nie wiem za bardzo co z tym fantem zrobić, gdyż połączenie z bazą jest wykonywane i wszystkie inne zapytania wykonują się dobrze.
Przeszukałem forum, ale nie znalazłem odpowiedzi na taki problem jak mój.
Aha, chmod dla pliku test.txt i dla skryptu ustawione są na 777.
P.S. Nie wiem czy to ma znaczenie, ale serwer jest hostingowy.
Kod:
  1. <?
  2. include "db_data.php";
  3. include "db_connect.php";
  4.  
  5. $load="LOAD DATA INFILE 'test.txt' INTO TABLE test FIELDS TERMINATED BY ';'";
  6. $q_load=mysql_query($load);
  7. if($q_load)
  8.  {
  9.   echo"Upload successfull...<br />";
  10.  }
  11. else
  12.  {
  13.   echo"Upload failed...<br />";
  14.   echo "Error: <b>".mysql_error()."</b>&nbsp;&nbsp;&nbsp;Error no.: <b>".mysql_errno()."</b>";
  15.  }
  16. ?>
nevt
cytat z manuala:
Cytat
For security reasons, when reading text files located on the server, the files must either reside in the database directory or be readable by all. Also, to use LOAD DATA INFILE on server files, you must have the FILE privilege

krótko mówiąc twój db_user nie ma uprawnień FILE ...
slimboj
No dobra, to teraz pytanie jak zmienić mu uprawnienia, jak znam życie to pewnie w plku konfiguracyjnym mysql'a... Co pewnie będzie mógł zrobić tylko provider... sciana.gif
nevt
bez tych uprawnień możesz użyć klauzuli LOCAL i załadować plik ze swojego kompa, maual:
Cytat
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' ...

...
The LOCAL keyword, if specified, is interpreted with respect to the client end of the connection:

  • If LOCAL is specified, the file is read by the client program on the client host and sent to the server. The file can be given as a full pathname to specify its exact location. If given as a relative pathname, the name is interpreted relative to the directory in which the client program was started.
slimboj
Dzięki, teraz wszystko działa ok
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.