首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >序列化包含有问题字符的值(% \n...)

序列化包含有问题字符的值(% \n...)
EN

Stack Overflow用户
提问于 2011-09-13 01:08:04
回答 1查看 48关注 0票数 0

我有一个PHP购物车是由一家公司预先开发的,在订购时,我添加了额外的信息,它的属性值只是添加到变量$ post‘$_POST’,但是,当它被序列化并放入一个数据库它错误,如果它包含%,!,$等东西,它没有错误,它发送待定订单电子邮件,带他们到贝宝,让他们支付,从来没有验证过,打印机实际上是在数据库中,如果它有特殊的字符,它就不是…

我已经尝试了不同的方法,读到base64编码可以有所帮助,然而,这将意味着刮掉很多预先存在的订单,重新做很多系统,有人可以帮助吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2011-09-13 01:55:02

你遇到的问题是数据不能被转义。我猜你是在做这样的事情:

代码语言:javascript
复制
$sql = "INSERT INTO mytable (something) VALUES ('". $something ."')";
$result = mysql_query($sql);

您需要做的是首先对变量进行转义:

代码语言:javascript
复制
$sql = "INSERT INTO mytable (something) VALUES ('". mysql_real_escape_string($something) ."')";
$result = mysql_query($sql);

我的示例使用MySQL,但是所有支持的数据库都有类似的函数。

为您的数据库使用正确的函数。不要只使用url编码或通用字符串转义。需要加引号的字符是特定于数据库的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7391401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档