php - 使用 fgetcsv() 在 PHP CSV 上传中转义撇号时出现问题

标签 php mysql csv escaping apostrophe

我正在通过 fgetcsv() 将 CSV 文件中的电子邮件地址上传到 MySQL 数据库中。我遇到的问题是我无法转义包含撇号(或单引号)的电子邮件地址。

所以,O'Keefe@aol.com 不会变成 O\'Keefe@aol.com

我知道这是应该发生的,但是我一直无法找到一个可行的解决方案来转义撇号。有人可以帮我吗?这是我的代码:

while (($data = fgetcsv($handle, 1000, ',')) !== FALSE)
            {

                $num = count($data);
                $row++;
                for ($c=0; $c < $num; $c++) {
                    //echo $data[$c] . "<br />\n";
                    $clean_value = cleanse($data[$c]);

                    if(validEmail($clean_value)){
                        $query = mysql_query("INSERT INTO addresses (lid, email_addresses) VALUES ('$lid', '$clean_value')");
                    }else{
                        if($clean_value != ""){
                            $invalid_addresses .= $clean_value.', ';
                        }
                    }

                    /*if(mysql_error()){
                        $failed_addresses .= $data[$c].', '.mysql_error() . "<br />\n";
                    }*/
                }
            }

$query = mysql_query("INSERT INTO addresses (lid, email_addresses) VALUES ('$lid', \"". mysql_real_escape_string($clean_value) ."\")");

...这对我不起作用

最佳答案

我不知道你的 cleanse 函数到底做了什么,但为什么不使用 mysql_real_escape_string ?这就是它的用途。

关于php - 使用 fgetcsv() 在 PHP CSV 上传中转义撇号时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3234940/

相关文章:

javascript - Jquery 验证中最多允许 10 封电子邮件,每个电子邮件以逗号分隔

php - html 是否可以与 php 中动态生成的图像一起使用?

Php - 尝试将 URL 插入 MySQL 表

java - 使用 Hibernate 将两个或多个应用程序连接到同一个数据库

c++ - 将 csv 读入数组

php - 使用 XHR 取消 PHP 脚本?

mysql - mysql中如何将下一行合并到上一行?

mysql - 根据两列删除重复项并保留另一列具有最小值的行

java - csv-commons - withSkipHeaderRecord 选项不会跳过任何内容

c# - 拆分逗号分隔值 (CSV)