【发布时间】:2012-11-12 18:48:06
【问题描述】:
尝试将序列化的字符串保存到 SQL,但由于引号,我在反序列化时遇到问题。
例如,字符串是“te'st”,序列化后我们有
s:5:"te'st";
但是要将它保存到 SQL 中,我们需要添加斜杠,我正在这样做
serialize(addslashes($string))
在此之后,在我们的 MySQL 数据库中,我们有
s:6:"te'st";
这就是问题所在。 s:6 表示我们有 6 个符号字符串,但我们的 "test'st" 只有 5 个,所以当我们试图反序列化它时,我们得到了错误。
如何解决?试过 htmlspecialchars 和 mysql_real_escape_string
更新:
我如何使用 mysql_real_escape_string
mysql_query("INSERT INTO `table`(`string`) VALUES ('" . serialize(array('iId' =>$aSqlResult['typeID'], 'sName' => mysql_real_escape_string($sScanResultLine))) . "')");
【问题讨论】:
标签: php mysql serialization quotes