通过CSV文件添加数据时出错

时间:2010-10-19 13:08:46

标签: php mysql csv

当我通过CSV文件在数据库中添加细节时,我收到错误 - Access denied for user 'user'@'%' (using password: YES)。我检查过数据库用户名和密码。即使我逐个添加产品(没有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)";

2 个答案:

答案 0 :(得分:1)

看起来您的MySQL用户没有正确的权限

尝试执行此操作,然后刷新

grant file on *.* to user@host identified by 'password';

添加ref link

答案 1 :(得分:1)

您可能没有加载文件所需的FILE权限。 LOAD DATA INFILE语句的文档说明:

  

出于安全考虑,请在阅读时阅读   位于服务器上的文本文件   文件必须驻留在   数据库目录或可读取   所有。另外,要使用LOAD DATA INFILE   服务器文件,您必须具有文件   特权。见5.4.1节,   “MySQL提供的权限”。对于   非LOCAL加载操作,如果   secure_file_priv系统变量是   设置为非空目录名称,   要加载的文件必须位于   那个目录。