关于php序列化的问题
来源:百度文库 编辑:神马文学网 时间:2024/04/29 00:42:36
Posted by: dreamriver 2005-02-16 15:06
将页面中所有text、textarea等input元素post过来的数组,序列化后存入mysql数据库的一个字段中。
问题:如果元素内容中包含“‘”则系统自动转义为“\‘”,序列化后将字符串存入数据库,但这时数据库中的内容已经不包含"\"反斜线了。因此反序列化就会失败,如何解决这个问题?
Posted by: dualface 2005-02-17 19:55
QUOTE (dreamriver @ 2005-02-16 15:06)
将页面中所有text、textarea等input元素post过来的数组,序列化后存入mysql数据库的一个字段中。
问题:如果元素内容中包含“‘”则系统自动转义为“\‘”,序列化后将字符串存入数据库,但这时数据库中的内容已经不包含"\"反斜线了。因此反序列化就会失败,如何解决这个问题?
不是很清楚你说的自动转义是在哪一个阶段发生的。
不过我的做法一般是在处理POST数据时实现检查 get_magic_quotes_gpc(),如果设置为 On,则使用 stripcslashes() 将 POST 数据中的转义符号去掉。然后用 mysql_real_escape_string() 将要保存的数据转义为 mysql 允许的格式,最后才存入数据库。
这样做以后,从数据库中取出来的数据就是用户提交的数据,不带任何转义符号。
Posted by: dreamriver 2005-02-18 18:08
问题解决了。就是楼上所说的这样。关键是要在入库之前先将原始信息序列化。然后使用mysql_real_escape_string() 或者 addslashes将序列化后的字符串转义。在ok了。
谢谢!!
将页面中所有text、textarea等input元素post过来的数组,序列化后存入mysql数据库的一个字段中。
问题:如果元素内容中包含“‘”则系统自动转义为“\‘”,序列化后将字符串存入数据库,但这时数据库中的内容已经不包含"\"反斜线了。因此反序列化就会失败,如何解决这个问题?
Posted by: dualface 2005-02-17 19:55
QUOTE (dreamriver @ 2005-02-16 15:06)
将页面中所有text、textarea等input元素post过来的数组,序列化后存入mysql数据库的一个字段中。
问题:如果元素内容中包含“‘”则系统自动转义为“\‘”,序列化后将字符串存入数据库,但这时数据库中的内容已经不包含"\"反斜线了。因此反序列化就会失败,如何解决这个问题?
不是很清楚你说的自动转义是在哪一个阶段发生的。
不过我的做法一般是在处理POST数据时实现检查 get_magic_quotes_gpc(),如果设置为 On,则使用 stripcslashes() 将 POST 数据中的转义符号去掉。然后用 mysql_real_escape_string() 将要保存的数据转义为 mysql 允许的格式,最后才存入数据库。
这样做以后,从数据库中取出来的数据就是用户提交的数据,不带任何转义符号。
Posted by: dreamriver 2005-02-18 18:08
问题解决了。就是楼上所说的这样。关键是要在入库之前先将原始信息序列化。然后使用mysql_real_escape_string() 或者 addslashes将序列化后的字符串转义。在ok了。
谢谢!!
关于php序列化的问题
PHP 序列化(serialize)格式详解
关于php时区错误问题 - 佳佰技术论坛 - Jabai.Com
最令PHP初学者头痛的十四个问题
PHP的GBK与UTF8字符编码问题
关于php页面最大执行时间问题(set_time_limit函数在windows下不起作用...
关于PHP你可能不知道的10件事
关于指针的问题?
关于sync4j的问题
关于CEZFileToGZip的问题
关于汉奸的问题
关于睡眠的问题
关于鼻炎的问题
关于新闻联播的问题
关于多吃多占的问题
关于平等的问题
关于sizeof的问题
关于动脉粥样硬化的问题!
PHP初学者头疼问题总结
Oracle sequence序列的用法
php代码优化及php相关问题总结
[推荐]php代码优化及php相关问题总结
关于字节对齐的问题。
关于#define的初级问题