2010-10-19 6 views
2

pendant que j'ajoute des détails dans la base de données via le fichier CSV Je reçois l'erreur Access denied for user 'user'@'%' (using password: YES). J'ai vérifié le nom d'utilisateur et le mot de passe de la base de données. même si j'ajoute un produit un par un (sans csv) ça marche bien. Cela signifie que ma connectivité de base de données est correcte. Ai-je besoin de faire des changements dans mon compte d'hébergement de base de données ou une erreur de code?erreur lors de l'ajout de données par fichier CSV

connect_db(); // MYSQL connection settings 


    $sql="LOAD DATA 
    INFILE '$file_name' INTO TABLE tbl_product 
    IELDS TERMINATED BY \"\t\" 
    LINES TERMINATED BY \"\n\" 
    (cat_id, pd_name, pd_description, pd_price, pd_qty, pd_image, pd_thumbnail, pd_date, pd_last_update, tax)"; 

Répondre

1

On dirait que votre utilisateur MySQL ne possède pas les autorisations correctes

Essayez d'exécuter cette puis rincer

grant file on *.* to [email protected] identified by 'password'; 

Ajout ref link

1

Vous pourriez ne pas avoir les autorisations de fichier requis afin de charger un fichier. Documentation pour les LOAD DATA états des états INFILE:

Pour des raisons de sécurité, lors de la lecture fichiers texte situés sur le serveur, les fichiers ils doivent se trouver dans le répertoire de base de données ou être lisible par tous. En outre, pour utiliser LOAD DATA INFILE sur les fichiers du serveur , vous devez disposer du privilège FICHIER . See Section 5.4.1, "Privilèges fournis par MySQL". Pour opérations de chargement non-LOCAL, si la variable système secure_file_priv est définie sur un nom de répertoire non vide, le fichier à charger doit se trouver dans ce répertoire.

Questions connexes