PHP Mysql更新转义撇号中的序列化数组
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP Mysql更新转义撇号中的序列化数组,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1329字,纯文字阅读大概需要2分钟。
内容图文
![PHP Mysql更新转义撇号中的序列化数组](/upload/InfoBanner/zyjiaocheng/904/7ec8ab4ddf8a45f0af42d4c84d019ee6.jpg)
我有一个php mysql更新序列化数据的问题.
我的序列化数据
a:1:{i:0;a:3:{s:5:"image";s:4:"5812";s:5:"title";s:14:"Day 1 : LOREM";s:4:"desc";s:416:"Lorem Ipsum is 'simply dummy' text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500's, when an unknown printer ";}}
问题出现在文本中,例如’撇号’为虚拟’.
Mysql Update语句
$conSave="update serialized_data set value='$str1' where id='{$_POST['key_id']}'";
$conSaveData = mysql_query($conSave);
如何在序列化数据中解决此问题?
MySQLi更新声明
$stmt = $con->stmt_init();
$stmt->prepare("Update serialized_data set value=? WHERE id = ?");
$stmt->bind_param("ss",$a,$b);
$a = $str1;
$b = $_POST['key_id'];
$stmt->execute();
解决方法:
你的代码应该是这样的
try {
$b = $_POST['key_id'];
$stmt = new mysqli("example.com", "user", "password", "database");
$stmt->prepare("Update serialized_data set value=? WHERE id = ?");
$stmt->bind_param("si",$str1, $b);
$stmt->execute();
} catch(Exception $e){
echo $e->getMessage();
}
但是,我宁愿使用json字符串而不是序列化字符串.
像这样的东西
$data = array('key' => 'val'); // this is your original array before you serialize it
$a = json_encode($data); //this will convert your array to a json string
然后当你从数据库中选择字符串时,你将使用json_decode($selectedString); //这会将你的json字符串转换为一个对象
内容总结
以上是互联网集市为您收集整理的PHP Mysql更新转义撇号中的序列化数组全部内容,希望文章能够帮你解决PHP Mysql更新转义撇号中的序列化数组所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。