php正则表达式 向mysql 插入单引号问题

高分请说下,php正则表达式 向mysql 插入单引号问题?

我的程序是php 新闻系统 ,正则语法是ereg_replace();

现在有个问题,如果不替换单引成\',sql就会出错。
1.我在编辑器中输入''''''''''''''然后插入sql 显示文章时也是 '''''''''''''''''
2.我在编辑器中输入\'\'\'\'\'\'\'\'然后插入sql 显示文章时也是 \'\'\'\'\'\'\'\'

正则我不会写,希望高手能帮帮忙;
$countfile=" ''''''''''\'\'\'\'\'\'\'\'\''\'\' ";
$mode=" ";//正则表达式
$str=ereg_replace($mode," 替换成\' ",$countfile);
echo $str;
不是说替换成\'
应该如何编写才可以正确输出和之前输入的一样
如 \'\'\\'''''''\'\'\'\'\'\'\\\\''\\''\\\''\\\\\\\\\\\\'''''\'\'\'\'\\'
最新回答
故事很多慢慢来

2024-09-25 00:44:25

不用正则过滤,入库前用addslashes -- 添加反斜线引用字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。如:单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。

代码:
if (!get_magic_quotes_gpc()){
$str=addslashes($str);
}
处理过的$str就可以安全入库了。再不会出现插入时导致sql语句错误。