php - 将 csv 文件导入数据库 - 带逗号的值

标签 php mysql csv import

我正在尝试将 csv 文件导入到我的数据库中。它可以工作,但问题是我有一个列,即“address1”和“address2”,其中可能有逗号。示例是:

194 Chavez compound, Something City

发生的事情是 194 Chavez 化合物位于“address1”,Something City 位于“address2”。整个地址只能在“address1”中。

这是我在数据库中导入的代码:

    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,",","'")); 

最佳答案

正如一位评论者所建议的,尝试使用 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。

关于php - 将 csv 文件导入数据库 - 带逗号的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20879398/

相关文章:

php - 使用 PHP 和 MySQL 自定义 JSON 数组

java - 带有 MySQL 数据库的 spring-data-elasticsearch

csv - 如何从 compojure API 流式传输大型 CSV 响应,以便整个响应不会立即保存在内存中?

arrays - 如何使用 Matlab 读取制表符分隔值文件

php - 如何从 PHP 数组显示多个谷歌地图标记?

php - 根据两列值和每组中一列的总和对多维数组数据进行分组

PHP MySQL 表数据到 Accordion

php - 在 Woocommerce 中的每个项目名称旁边显示购物车中的产品自定义字段

php - while 在电子邮件中循环 (PHP)

c - 将 CSV 数据解析为结构