php – 使用引号保存到MySQL序列化信息
发布时间:2020-12-11 23:38:41 所属栏目:MySql教程 来源:网络整理
导读:试图将序列化的字符串保存到SQL,但后来我因为引号而无法将其反序列化. 例如,字符串是“test”,序列化后我们有 s:5:"te'st"; 但要将其保存到SQL,我们需要添加斜杠,而我正在做 serialize(addslashes($string)) 在此之后,在我们的MySQL数据库中我们有 s:6:"te's
试图将序列化的字符串保存到SQL,但后来我因为引号而无法将其反序列化. 例如,字符串是“te’st”,序列化后我们有
但要将其保存到SQL,我们需要添加斜杠,而我正在做
在此之后,在我们的MySQL数据库中我们有
这就是问题所在. s:6表示我们有6个符号字符串,但我们的“te’st”只有5,所以当我们尝试反序列化时,我们会收到错误. 怎么解决?尝试了htmlspecialchars和mysql_real_escape_string 更新: 我如何使用mysql_real_escape_string
最佳答案
您应该在序列化之后通过escape函数传递数据,而不是之前 – 这就是您现在正在做的事情.
使用PDO或MySQLi的参数化查询,您可以完全忘记转义. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Mysql必读mysql5.5 master-slave(Replication)配置方法
- MYSQL数据库MySQL5.7.03 更换高版本到MySQL 5.7.17安装过程
- MYSQL教程Keepalived+HAProxy实现MySQL高可用负载均衡的配置
- mysql – 使用另一个表中的值更新表
- 破解mysql root密码的几种方法
- MYSQL教程故障的机器修好后重启,狂拉主库binlog,导致网络
- Mysql学习MySQL触发器 Update触发Insert失败
- Mysql sys_exec无法打开共享库’lib_mysqludf_sys.so&
- 解决MySQL版本问题sql_mode=only_full_group_by示例
- Mysql必读你有没有遗忘mysql的历史记录