我尝试第二次尝试使用LOAD DATA INFILE将记录从CSV上传到MySQL数据库但是我总是遇到所有尝试中的错误,每次都有不同的错误,这就是为什么我宁愿使用原始方式循环记录 .
我的上一个剧本:
<?php
//Connect to Database
$maindir = realpath(__DIR__);
include($maindir . '/connectme.php');
$queme = "LOAD DATA INFILE '" . $_FILES['fromfileupload']['tmp_name'] . "'
INTO TABLE thecardb
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
LINES TERMINATED BY ',,,\\r\\n'
IGNORE 1 LINES
(carid, carname, carbrand, carprice, carcolor)" ;
if (mysqli_query($concon, $queme))
{
echo "Success";
}
?>
我最近的错误是
Access denied for user '########_######'@'##.#.#.##' (using password: YES)
出于保密原因,我将部分错误替换为# .
这对我来说一直很烦人,我相信部分问题是由于php.ini中的一些权限设置或其他我无法访问或查找的PHP配置(我正在使用虚拟主机而不是运行我自己的服务器上的这个网站) . 我可以使用fopen()从CSV上传记录而不是使用LOAD DATA INFILE吗?我认为这是我现在最简单的解决方案(使用mysqli_multi_query) . 我只处理大约5000-10000条记录 .
1 回答
嗯......我认为错误信息几乎告诉你问题是什么 .
拒绝访问 .
你应该检查一些事情......
用户帐户和密码 . 他们是对的吗?
该帐户是否可以访问该数据库?
该帐户是否可以访问您要将数据加载到的表?
该帐户是否有权运行load data命令?
这应该涵盖你现在需要检查的所有内容......