当我通过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)";
答案 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系统变量是 设置为非空目录名称, 要加载的文件必须位于 那个目录。