我正在尝试将csv文件导入我的数据库。它正在工作,但问题是我有一个列,即“address1”和“address2”,可能有逗号。例如:
194 Chavez compound, Something City
发生了什么事情是194查韦斯化合物在“地址1”中,而Something City在“地址2”中。整个地址只能在“地址1”中。
这是我在数据库中导入的代码:
do {
if ($data[0]) {
mysql_query("INSERT INTO awb (recNAME, company, address1, address2, city, province, postalCODE, contactNO, email, commodity, type, weight, length, width, height, decVAL, specINSTRUC, shipREF, payMETHOD, packNO, trackNO) VALUES
(
'".addslashes($data[0])."',
'".addslashes($data[1])."',
'".addslashes($data[2])."',
'".addslashes($data[3])."',
'".addslashes($data[4])."',
'".addslashes($data[5])."',
'".addslashes($data[6])."',
'".addslashes($data[7])."',
'".addslashes($data[8])."',
'".addslashes($data[9])."',
'".addslashes($data[10])."',
'".addslashes($data[11])."',
'".addslashes($data[12])."',
'".addslashes($data[13])."',
'".addslashes($data[14])."',
'".addslashes($data[15])."',
'".addslashes($data[16])."',
'".addslashes($data[17])."',
'".addslashes($data[18])."',
'".addslashes($data[19])."',
'".addslashes($data[20])."'
)
");
}
} while ($data = fgetcsv($handle,1000,",","'"));
答案 0 :(得分:1)
正如其中一位评论员建议的那样,请尝试使用LOAD DATA INFILE:
LOAD DATA INFILE '[file name]' INTO TABLE '[table name]'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
如果您的CSV文件有标题行,您还需要添加此子句:IGNORE 1 LINES。