您的位置:首页 > 编程语言 > PHP开发

php 向数据库插入特殊字符

2016-08-08 18:42 113 查看
需求:

将短信黑词.txt文件中的内容插入到数据库,内容如下:



<?php

header("Content-type: text/html; charset=utf-8");

//获取短信黑词 使用换行符进行分割(因为在txt中是换行,不是空格)

$blackWords = file_get_contents("blackWords.txt");

$words = explode("\n", $blackWords);  

/*等同于

$url = MrJobs_Config::$MAIN['webRoot']."/uploads/SMSBlackWords.txt";

$black_words = file($url, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

 [file函数相比file_get_contents,前者是读取到数组中,后者是读取到一个字符串中]

*/

$sql = "INSERT INTO black_words(black_work_id,black_word) VALUES";

foreach($words as $key=>$val){
//去掉分割时后面的空格,否则插入数据库后有空格,匹配会失败
$val = rtrim($val);
//因记录中有\、\n等特殊字符,如“查\\t验\\t后\\t付\\t款”等插入数据库,会变成“查\t验\t后\t付\t款”,
//解决方法是在前面使用\进行转义,即插入“查\\\\t验\\\\t后\\\\t付\\\\t款”,数据库就会变成想要的效果
//“查\\t验\\t后\\t付\\t款”,在此不需手动添加,直接使用addslashes就可以将\变成\\进行转义。
//同理,遇到单引号等特殊字符,同样处理用\处理即可
$val = addslashes($val);
$sql = "('','$val'),";
echo $sql;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: