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

标签 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;
}

最佳答案

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

 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() 这样的函数。

关于php - 如何在读取 fgetcsv 时删除数据库中存储的双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30479725/

相关文章:

php - 使用查询参数进行 301 重定向

php - 使用 Foreach 从数据库检索结果

php - 使用 PHP 读取 CSV 文件时字符串长度不正确

php - Codeigniter 和 PHP - 强制 404?

php - 按关联项搜索的 SQL

php - fgetcsv在特定行打开?

c++ - libmysqlclient.18.dylib 内存泄漏

MySQL Replace Breaks Wordpress 模板

php - 从导入的 .csv 文件中删除 BOM ()

php - 如何在 php 中显示 CSV 文件中的特定列?