2 回答

TA貢獻1757條經驗 獲得超7個贊
從您顯示的錯誤中,可以看到行終止符未正確傳遞給查詢。
您想要 :,但錯誤日志顯示:。LINES TERMINATED BY '\n'LINES TERMINATED BY ' '
您只需要在構建查詢字符串時轉義回車符,這樣就不會在PHP中對其進行插值。
此外,正如Barmar所指出的,您需要轉義該部分,以便將兩個反面條傳遞給查詢(截至目前,最終查詢字符串中只有一個反斜杠,這也是一個語法錯誤)。ESCAPED BY '\\'
$sql = "LOAD DATA LOCAL INFILE '".$file_url_with_name."' INTO TABLE ".$table_name." FIELDS TERMINATED BY ',' ENCLOSED BY '\"' ESCAPED BY '\\\\'";
$sql .= " LINES TERMINATED BY '\\n' IGNORE 1 LINES (company_name,brand_name,product_name,usage_annotation,organic_standard);";

TA貢獻1821條經驗 獲得超5個贊
從另一個角度來看,這似乎是簡單的csv文件,只是這樣
$file = fopen($file_url_with_name, "r");
while (($data = fgetcsv($file, 10000, ",")) !== FALSE)
{
$sql = "INSERT into $table_name (company_name, brand_name, product_name, usage_annotation, organic_standard) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]')";
mysqli_query($con, $sql);
}
fclose($file);
- 2 回答
- 0 關注
- 169 瀏覽
添加回答
舉報