php – 使用引号保存到MySQL序列化信息
发布时间:2020-05-27 14:28:00 所属栏目:MySql 来源:互联网
导读:试图将序列化的字符串保存到SQL,但后来我因为引号而无法将其反序列化.例如,字符串是“test”,序列化后我们有s:5:test; 但要将其保存到SQL,我们需要添加斜杠,而我正在做serialize(addslashes($string)) 在此之后,在我们的MySQL数据库中我们有s:6:test; 这就是
|
试图将序列化的字符串保存到SQL,但后来我因为引号而无法将其反序列化. 例如,字符串是“te’st”,序列化后我们有
但要将其保存到SQL,我们需要添加斜杠,而我正在做
在此之后,在我们的MySQL数据库中我们有
这就是问题所在. s:6表示我们有6个符号字符串,但我们的“te’st”只有5,所以当我们尝试反序列化时,我们会收到错误. 怎么解决?尝试了htmlspecialchars和mysql_real_escape_string 更新: 我如何使用mysql_real_escape_string
最佳答案
您应该在序列化之后通过escape函数传递数据,而不是之前 – 这就是您现在正在做的事情.
使用PDO或MySQLi的参数化查询,您可以完全忘记转义. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
