php提交表单内容有单引号,mysql执行时遇见错误的解决方法。
来源:互联网 发布:webuploader java demo 编辑:程序博客网 时间:2024/05/01 06:30
首先看一下问题所在。
"INSERT INTO tg_article(
tg_username,
tg_type,
tg_title,
tg_content,
tg_date
)
VALUES(
'{$_clean['username']}',
'{$_clean['type']}',
'{$_clean['title']}',
'{$_clean['content']}',
NOW()
)
"
大家会发现党要提交的内容还有单引号的时候,value是里面就会出现单引号套单引号,这是明显的错误,这也是在网站开发中经常遇到的现象和易忽略的问题。接下来给大家讲怎么解决。
1. 对于magic_quotes_gpc=on的情况,
我们可以不对输入和输出数据库的字符串数据作
addslashes()和stripslashes()的操作,数据也会正常显示。
如果此时你对输入的数据作了addslashes()处理,
那么在输出的时候就必须使用stripslashes()去掉多余的反斜杠。
2. 对于magic_quotes_gpc=off 的情况
必须使用addslashes()对输入数据进行处理,但并不需要使用stripslashes()格式化输出
因为addslashes()并未将反斜杠一起写入数据库,只是帮助mysql完成了sql语句的执行。
创建一个转义函数,并对内容转义
function _mysql_string($_string){ //get_magic_quotes_gpc()如果开启状态就不用转义,否则要z转义 // if(!GPC){ // return @mysql_escape_string($_string); // }else{ //return $_string; // } if(GPC){ if(is_array($_string)){ foreach ($_string as $_key=>$_value){ $_string[$_key] = _mysql_string($_value); $_string[$_key] = addslashes($_string[$_key]); } }else{ $_string = @mysql_real_escape_string($_string); } } return $_string;}
//接受内容 $_clean = array(); $_clean['username'] = $_COOKIE['username']; $_clean['type'] = $_POST['type']; $_clean['title'] = $_POST['title']; $_clean['content'] = $_POST['content']; _mysql_string($_clean);
- php提交表单内容有单引号,mysql执行时遇见错误的解决方法。
- 近几日学习java+jsp+mysql制作网页遇见的错误解决方法,希望对新手有帮助
- [PHP] 提交表单后 PHP获取提交内容 的方法
- php表单提交时获取不到post数据的解决方法
- PHP表单提交错误后返回内容消失问题
- 表单提交错误回退时保留表单内容
- 表单中有图文编辑器的内容,提交失败。
- PHP不能获取表单提交的内容解决办法
- 安装Nginx+MySQL+PHP后执行.php程序后产生的错误解决方法:
- php 表单提交大量数据发生丢失的解决方法
- django在提交表单时403错误解决方法
- django在提交表单时403错误解决方法
- 表单提交数组时判断是否有重复的提交
- php表单提交时的身份证号码验证
- 在文本框向数据库提交时提交内容有form表单时
- php表单在提交之后再后退,表单的内容默认是被清空的
- PHP表单提交数据存入mysql的中文乱码问题
- 网页上提交表单之后,PHP为什么不能获取提交的内容?
- jquery $.each,$.map
- hdu-4028 The time of a day
- Java设计模式透析之 —— 适配器(Adapter)
- ImageView设置selector遇到的小问题及解决方案记录
- 谈谈测试用例的分类
- php提交表单内容有单引号,mysql执行时遇见错误的解决方法。
- 关于本笔记
- 20141024 N2
- 关于centOS6.3无法上网的问题(ip可以上网,网址不能上网)
- 在mysql 中模拟oracle中的 sequence功能
- zookeeper数据模型操作介绍
- linux 大文件分割 split
- 输入任意abc的值,求方程ax^2+bx+c=0的根
- Android桌面Launcher2修改笔记