Javascript 将csv文件上载到mysql数据库sql语法错误

Javascript 将csv文件上载到mysql数据库sql语法错误,javascript,php,ajax,csv,mysqli,Javascript,Php,Ajax,Csv,Mysqli,我有一段javascript,它获取一个文件并生成一个名称。此数据被放入FormData对象中。这将通过ajax发送到服务器。请参见下面的javascript: function create_form_data(option_file_name){ var file = $('#'+option_file_name.id).prop('files')[0]; var form_data = new FormData(); form_data.append('file', file

我有一段javascript,它获取一个文件并生成一个名称。此数据被放入FormData对象中。这将通过ajax发送到服务器。请参见下面的javascript:

function create_form_data(option_file_name){
  var file = $('#'+option_file_name.id).prop('files')[0];
  var form_data = new FormData(); 
  form_data.append('file', file);
  form_data.append('tblname', option_file_name.id.slice(12));
  send_ajax_request(form_data);

}

function send_ajax_request(pdata){
  $.ajax({
    url: "set_points_data.php",
    data: pdata,
    contentType: false,
    processData: false,
    dataType: "text",
    type: 'post',
    success: function (data) {
      console.log(data);
    },
    error: function(a,b,c){
      console.log(a);
      console.log(b);
      console.log(c);
    }
  });
}
现在,在set_points_data.php中,我执行以下操作:

include 'data.php';

if(isset($_FILES)){
    $data = $_FILES["file"]["name"];
    $db_name = mysqli_escape_string($conn, $_POST["tblname"]);
    return_ajax(create_table($conn, $db_name, $data));
}else{
    return_ajax("error");
}

function create_table($conn, $name, $data){
    send_sql($conn, "DROP TABLE IF EXISTS domestic_data_strings.".$name."");
    send_sql($conn, "CREATE TABLE $name (options varchar(255));");
    send_sql($conn, "LOAD DATA LOCAL INFILE $data INTO TABLE $name FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' (options)");

    return $name;

}
但我一直得到以下错误:

错误:将数据本地填充列_age.csv加载到以“,”结尾的表龄字段中,可以选择以“,”结尾的行 "(选择)

您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第1行的“column_age.csv INTO TABLE age FIELDS”附近使用的正确语法,该字段以“,”结尾,也可以选择以“.”括起

我不知道这里出了什么问题:(我尝试了不同的
.csv
文件,但这没有什么区别。我检查了表是否存在正确的列,什么也是正确的。非常感谢您的帮助


如果需要更多上下文,请告诉我!

我不确定,但我认为您必须在查询中用单引号括起文件名:
send\u sql($conn,“LOAD DATA LOCAL infle.”.$DATA.”进入以“,”结尾的表$name字段,“,”可选地由“\”行括起来,以“\n”(选项)”结尾;

我认为问题出在“.csv”这一点上。只要像“filename\.csv”那样尝试转义,即使转义后仍然会出现相同的错误…请参阅更新的问题