如何通过fgetcsv读取时删除存储在数据库中的双引号

时间:2015-05-27 10:23:50

标签: php mysql fgetcsv

这是我的代码。每当我执行此操作时,数据以双引号存储在数据库中作为“公园大道”。

if ($_FILES["csv_file"]["size"] > 0) 
{
    //get the csv file
    $file = $_FILES["csv_file"]["tmp_name"];
    $handle = fopen($file,"r");
    //loop through the csv file and insert into database
    do {
        if ($data[0]) {
            mysql_query("INSERT INTO add_product(product_id, product_name, date) VALUES
                (
                    '".addslashes($data[0])."',
                    '".addslashes($data[1])."',
                    '".addslashes($data[2])."'
                )
            ");
        }
    } while ($data = fgetcsv($handle,1000,",","'"));
    //
    //redirect
    header('Location: http://abcd.adisoftronics.in/index.php/abc/csv_1?success=1');     
    die;
}

1 个答案:

答案 0 :(得分:0)

最简单的方法是手动更换它们。

 if ($data[0]) {
   mysql_query("INSERT INTO add_product(product_id, product_name, date) VALUES
  (
  '".str_replace('"','',addslashes($data[0]))."',
  '".str_replace('"','',addslashes($data[1]))."',
  '".str_replace('"','',addslashes($data[2]))."'
   )
 ");
}

如果你想要更多的字符,你应该像htmlspecialchar()一样检查functiosn。