【发布时间】:2026-01-09 04:10:01
【问题描述】:
我第二次尝试使用 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 条记录。
【问题讨论】: