php导入CSV到MYSQL遇到特殊字符的问题。

CSV表中有个“工单号”的字段,数据中有个'号,见图。导入失败(如果删掉'号就可以正常导入)。我不可能要求用户每次导表时都手工去删除这个符合,所以要通过代码解决这个问题,... CSV表中有个“工单号”的字段,数据中有个'号,见图。导入失败(如果删掉'号就可以正常导入)。我不可能要求用户每次导表时都手工去删除这个符合,所以要通过代码解决这个问题,但我不知道怎么解决,请指教谢谢。不要只是给一个思路,我要具体代码,谢谢。<?php //导入CSV表格:CSV转数组 $fp = fopen($_FILES['myfile']['tmp_name'], 'r'); while ( ($row = fgetcsv($fp)) !== FALSE ) { //从文件指针中读入一行并解析CSV $arr[] = $row; } fclose($fp); //开启事务,循环插入 $link = mysqli_connect("127.0.0.1", "root", "root", "zwxiaomi"); if (!$link){echo"<script>alert('数据库连接失败!')</script>";} $link->query("SET NAMES UTF8"); foreach($arr as $row){ $sql="INSERT INTO zaitugongdan (FirstName, LastName, danhao) VALUES ('".$row[0]."','".$row[1]."','".$row[2]."')"; $link->query($sql); }?> 展开
 我来答
jack_wang0823
2017-03-25 · TA获得超过2957个赞
知道大有可为答主
回答量:4143
采纳率:87%
帮助的人:1442万
展开全部
<?php //导入CSV表格:CSV转数组 
$fp = fopen($_FILES['myfile']['tmp_name'], 'r'); 
while ( ($row = fgetcsv($fp)) !== FALSE ) { //从文件指针中读入一行并解析CSV 
    $arr[] = $row; } fclose($fp); //开启事务,循环插入 
    $link = mysqli_connect("127.0.0.1", "root", "root", "zwxiaomi"); 
    if (!$link){echo"<script>alert('数据库连接失败!')</script>";} 
    $link->query("SET NAMES UTF8");
    foreach($arr as $row){ 
    
        $danhao=substr($row[2],1);
    
    
        $sql="INSERT INTO zaitugongdan (FirstName, LastName, danhao) 
            VALUES ('".$row[0]."','".$row[1]."','".$danhao."')"; 
        $link->query($sql); 
     }
   ?>

在代码中去掉这个符号不就可以了

追问

我自己又找到了一个方法,用addslashes($danhao)。你觉得哪个好?

追答
如果需要保留 ' 符号 用addslashes($danhao)好
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式