您的 SQL 语法有误:MariaDB server + codeigniter + LOAD DATA INFILE

You have an error in your SQL syntax: MariaDB server + codeigniter + LOAD DATA INFILE

我正在使用 codeigniter。试图将 csv 文件加载到数据库中。 $path = 'C:/xampp/htdocs/CodeIgniter-3.0.6/';

错误:

A Database Error Occurred

Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Institution ID Code,Acquiring Institution Name,Service Indicator,Local Point of ' at line 5

LOAD DATA INFILE "C:/xampp/htdocs/CodeIgniter-3.0.6/fichier/test3.csv" INTO TABLE atm_location FIELDS TERMINATED BY ";" LINES TERMINATED BY "\n" IGNORE 0 LINES (Acquiring Institution ID Code,Acquiring Institution Name,Service Indicator,Local Point of Service ID,Country Code,Administrative Region, Tourist Area,City / Town / Locality,Postal Code,Address,Location Name,Type of Location,Type of Access,Opening Hours,Opening Days,Card Programm Indicator,Opening Date,GPS Latitude,GPS Longitude)

Filename: C:/xampp/htdocs/CodeIgniter-3.0.6/system/database/DB_driver.php

Line Number: 691

这个有效:

$query = $this->db->query('LOAD DATA INFILE "'.$path.'fichier/test3.csv" INTO TABLE atm_location FIELDS TERMINATED BY ";"');

这行不通(给出上面的错误):

$query = $this->db->query('
        LOAD DATA INFILE "'.$path.'fichier/test3.csv" 
        INTO TABLE atm_location FIELDS TERMINATED BY ";" 
        LINES TERMINATED BY "\n" 
        IGNORE 0 LINES 
        (Acquiring Institution ID Code,Acquiring Institution Name,Service Indicator,Local Point of Service ID,Country Code,Administrative Region, Tourist Area,City / Town / Locality,Postal Code,Address,Location Name,Type of Location,Type of Access,Opening Hours,Opening Days,Card Programm Indicator,Opening Date,GPS Latitude,GPS Longitude)');

没有遗漏任何列。 csv 文件没有列名。数据库的列名与此处写入的相同。我正在本地主机上工作,显然 xampp。

我认为问题出在您的列名中的空格:

    (Acquiring Institution ID Code,Acquiring Institution Name,Service Indicator,Local Point of Service ID,Country Code,Administrative Region, Tourist Area,City / Town / Locality,Postal Code,Address,Location Name,Type of Location,Type of Access,Opening Hours,Opening Days,Card Programm Indicator,Opening Date,GPS Latitude,GPS Longitude)'

反勾并重试:

 (`Acquiring Institution ID Code`,`Acquiring Institution Name` ....

以后,避免在列名中使用空格。保持名称全部小写也是个好建议。