使用和不使用LOCAL {LO}数据INFILE的问题

时间:2015-05-27 09:52:56

标签: php mysql csv

我有一个运行PHP 5.3.3(Apache)和MySQLI 5.1.73

的网站

mysqli.allow_local_infile设置为ON

我正在尝试运行以下语句:

LOAD DATA LOCAL INFILE'“。$ data_location。”'INTO TABLE“。$ table_name。”FIELDS TERMINATED BY',''''''''''''''''''''''''''''' >

设置文件夹如下:

/data/

/httpdocs/
    import.php

$ data_location = /data/filename.csv

代码行在import.php

请注意,我已经在虚拟服务器上测试了整个脚本,它可以100%运行。我还在真实服务器上测试了脚本,一切都与这一行不同。

在上下文中,相关的代码行是:

$mysqli = mysqli_connect(HOST, USER, PASSWORD, NAME) or die('Could not connect to MySQL: ' . mysqli_connect_error());

$load_data_query = "LOAD DATA LOCAL INFILE '" . $data_location . "' INTO TABLE " . $table_name . " FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES";

$load_data_result = mysqli_query($mysqli, $load_data_query);//Run the query     

当我不包含LOCAL一词时,我得到的错误是拒绝访问(USER @ HOST)

当我包含LOCAL一词时,我得到的错误是这个MySQL版本不允许使用的命令

有人可以帮忙吗? (请注意,它是一个实时服务器,所以我们必须坚持当前的服务器设置)

0 个答案:

没有答案