文件无法通过PHP上传到MySQL


File cannot upload to MySQL via PHP

我在执行以下查询时遇到问题:

    $csv = $path . $filename;
    $query = sprintf("LOAD DATA local INFILE '%s' INTO TABLE users FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY ''"' ESCAPED BY ''"' LINES TERMINATED BY '''n' IGNORE 1 LINES (`firstname`, `lastname`, `username`, `gender`, `email`, `country`, `ethnicity`, `education`  )", addslashes($csv));
    return DB::connection()->getpdo()->exec($query);

它在Localhost中运行良好。当我在服务器上尝试时,出现了以下错误:

{"error":{"type":"PDOException","message":"SQLSTATE[42000]: Syntax error or access violation: 1148 The used command is not allowed with this MySQL version","file":"'/var'/www'/vhosts'/xxxxxxxx.com'/httpdocs'/xxxxxxxx.com'/app'/controllers'/UsersController.php","line":224}}

我更改了my.cnf文件中local-infile=1的值。尽管如此,还是出现了同样的错误。

可能是什么问题?

您可能必须在my.cnf文件和php-PDO中启用此功能。

[mysqld]
local-infile 
[mysql]
local-infile 

而且。。。

<?php
$pdo = new PDO($dsn, $user, $password, 
    array(PDO::MYSQL_ATTR_LOCAL_INFILE => true)
);