PHP如何过滤单引号

顺便问一下怎样写MYSQL语句
批量删除NAME为一样的数据

PHP过滤或者替换字符串的方法很多,比如可以用正则表达式替换。

如果能确定要过滤或替换的字符或字符串的值时,可以用str_replace ()函数。

mixed str_replace ( mixed $search, mixed $replace,mixed $subject [, int &$count ] );

其中,参数
$search表示查找的目标值,也就是 $needle。一个数组可以指定多个目标。
$replace 表示参数$search 的替换值。一个数组可以被用来指定多重替换。
$subject 表示执行替换的数组或者字符串。也就是 haystack。
如果 $subject 是一个数组,替换操作将遍历整个$subject,返回值也将是一个数组。
参数$count 表示如果被指定,它的值将被设置为替换发生的次数。

例如你想过滤$str 中的单引号,可以这样写:
$str = str_replace("'","",$str );
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-24
 <?php
function getpost($arr){
 if (get_magic_quotes_gpc()){
   $arr=is_array($arr)?array_map('stripslashes',$arr):stripslashes($arr);
 }
 if(is_array($arr)){
  foreach($arr as $key=>$val){
   $arr[$key]=htmlspecialchars($val,ENT_QUOTES);//html实体转换
   $arr[$key]=mysql_real_escape_string($arr[$key]);//防注入替换   
  }
 }else{
   $arr=htmlspecialchars($arr,ENT_QUOTES);//html实体转换
   $arr=mysql_real_escape_string($arr);//防注入替换   
 }
 return $arr;
}
?>
//该函数是我自己写的一个转换函数,主要用于防sql注入和跨站攻击,参数可以是数组,或字符串
//$post_array=getpost($_POST);//即可完成对敏感字符的处理

追问

还有个问题能回答一下吗?

追答

delete from table where id not in(select min(id) from table group by name);

本回答被提问者采纳
相似回答