/ / PHP przesyłanie pliku csv w mysql - php, mysql, csv, uprawnienia

Przesyłanie pliku csv w PHP w mysql - php, mysql, csv, uprawnienia

Próbuję załadować plik csv do mojej bazy danych mysql z kodu php. Pojawia się błąd: „Nie można zaktualizować: użyte polecenie nie jest dozwolone w tej wersji MySQL”

To jest kod, którego używam. Czy muszę udzielać jakichkolwiek zezwoleń, aby móc to zrobić z formularzy php.? Ponieważ jestem w stanie załadować ten sam plik csv z mysql bezpośrednio z terminala.

P.S.: - Po przeczytaniu tego wpisu zmieniłem plik.cnf. MySQL: Włącz LOAD DATA LOCAL INFILE

Jakkolwiek nie mogę przesłać z phpmyadmin i formularzy php. Komunikat o błędzie jest taki sam. to znaczy „Nie można zaktualizować: użyte polecenie nie jest dozwolone w tej wersji MySQL”

Poniżej znajduje się fragment kodu.

if(@$_POST["submit"])
{
$file = $_FILES["file"];
$name = $file["name"];
$type = $file["type"];
$size = $file["size"];
$tmppath = $file["tmp_name"];
echo "Name of the file is $name <br> $tmppath";
if($name!="")
{
echo "<br> Trying to upload file <br>";
if(move_uploaded_file($tmppath, "csvfiles/.$name")) //project is a folder in which you will save csv files
{
$query="LOAD DATA LOCAL INFILE "$tmppath" INTO TABLE test.metadata FIELDS TERMINATED BY ";" LINES TERMINATED BY "n" IGNORE 1 LINES;";
mysql_query ($query) or die ("Could not updated:".mysql_error());
echo "CSV file inserted successfully !!<br>";
}else {echo "<br>Failed !!!!";}
}else {echo "<br>No file exist <br>";}
}else {echo " <br> No file exist <br>";}

Odpowiedzi:

0 dla odpowiedzi № 1

Gdyby LOAD DATA LOCAL jest wyłączony na serwerze lub kliencie, klient, który próbuje wydać takie oświadczenie, otrzymuje następujący komunikat o błędzie:

ERROR 1148: The used command is not allowed with this MySQL version

Spróbuj uruchomić poniżej w systemie UNIX

mysql_fix_privilege_tables --password=root_password

lub jeśli Windows

C:> cd "C:Program FilesMySQLMySQL Server 5.0"
C:> binmysql -u root -p mysql
mysql> SOURCE share/mysql_fix_privilege_tables.sql