我们在使用PHP序列化/反序列化时遇到了一个奇怪的问题.我们已经序列化并存储在mysql中的特定字符串中(UTF-8整理).反序列化时会返回错误.
例如:字符串:
"Anoop很好地剪下了以P字母开头的杂志中的图片."
DB中的序列化数据:
s:96:"Anoop很好地剪掉了以P字母开头的杂志中的照片."
虽然反序列化我们得到了这个错误Notice - unserialize (): Error at offset 2 of 101 bytes.我们注意到字符串长度不同.这个问题的原因是什么?
任何帮助将非常感激.谢谢!
关于 mysql 数据插入,我遇到了以下问题。这里的电子邮件字段不能为空。在执行以下查询(查询 1 和 2)时,我们预计会出现错误。但是查询 1 给出错误,查询 2 给出成功。
表结构
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`email` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)
查询 1:
INSERT INTO `users` (`id`, `name`, `email`) VALUES (NULL, 'manu', NULL);
Run Code Online (Sandbox Code Playgroud)
结果:-#1048 - 列“电子邮件”不能为空
查询 2:
INSERT INTO `users` (`id`, `name`, `email`)
VALUES (NULL, 'manu', NULL),(NULL, 'Jose', NULL);
Run Code Online (Sandbox Code Playgroud)
结果:插入了-2 行。

查询中是否有任何错误?任何想法将不胜感激。