首页 文章

PHP LOAD DATA INFILE VS Fopen

提问于
浏览
1

我尝试第二次尝试使用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 回答

  • 0

    嗯......我认为错误信息几乎告诉你问题是什么 .

    拒绝访问 .

    你应该检查一些事情......

    • 用户帐户和密码 . 他们是对的吗?

    • 该帐户是否可以访问该数据库?

    • 该帐户是否可以访问您要将数据加载到的表?

    • 该帐户是否有权运行load data命令?

    这应该涵盖你现在需要检查的所有内容......

相关问题