我有一个运行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版本不允许使用的命令
有人可以帮忙吗? (请注意,它是一个实时服务器,所以我们必须坚持当前的服务器设置)