Php 读取第一行后使用fgetcsv获取额外的逗号和引号

Php 读取第一行后使用fgetcsv获取额外的逗号和引号,php,mysql,fgetcsv,Php,Mysql,Fgetcsv,我正在尝试将一个包含100000行的大型csv文件导入MySql表。我得到了一个错误: 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在“戴尔”、“1610基内兰博士”、“海伦娜”、“205-871-8006”附近, 第1行的“35080-4114”) 将代码从查询更改为回显: “428A1B35-6913-497C-907A-BFB9C4983B04”,“安德鲁·柯林斯·奥戴尔”, “1610基内兰博士”、“海伦娜”、“205-871-8006”、“350

我正在尝试将一个包含100000行的大型csv文件导入MySql表。我得到了一个错误:

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在“戴尔”、“1610基内兰博士”、“海伦娜”、“205-871-8006”附近, 第1行的“35080-4114”)

将代码从查询更改为回显:

“428A1B35-6913-497C-907A-BFB9C4983B04”,“安德鲁·柯林斯·奥戴尔”, “1610基内兰博士”、“海伦娜”、“205-871-8006”、“35080-4114”)

您可以看到一些字段之间有额外的引号(2个单引号)和逗号。我想这可能是一个空的领域,但没有骰子。这是我的密码:

if (($handle = fopen("accounts.csv", "r")) !== FALSE)
{
    while (($data = fgetcsv($handle, ",")) !== FALSE)
    {
        try
        {
            mysql_query("INSERT INTO accounts (id, name
            ,billing_address_street
            , billing_address_city, billing_address_state, billing_address_postalcode
            , phone_office, phone_alternate
            , website) values ('".trim(com_create_Guid(), '{}')
            ."', '".$data[1]."', '".$data[46]."', '".$data[48]
            ."', '".$data[49]."', '".$data[50]."', '".$data[8]
            ."', '".$data[9]."', '".$data[52]."')")or die(mysql_error());
        }
        catch(MySqlException $e)
        {
            $e.getMessage();
        }
    }
    fclose($handle);
}
我尝试在fgetcsv函数中输入字段enclosure参数''''。我的一些索引得到了一个未定义的偏移量。所以问题是,是否有人知道额外的记号和逗号可能来自何处


旁注:它插入了250条记录,尽管名称后面的所有内容都被一列或两列关闭,这当然是因为额外的记号和逗号。

您必须使用该函数

mysql_real_escape_string( $data[$x], $dblink )

对于数据部分;-)

正确,先生。除了防止用户输入sql注入之外,从未想过要将该函数用于其他任何事情。谢谢。/sallet