[英]Storing and retrieving objects with searchable array data in PHP and MySQL
[英]PHP storing array to MySQL and retrieving
$array = array('1','2','3','4','5','6','10','100');
$array2 = serialize($array);
if($stmt->prepare("UPDATE `users` SET `dungeon_list` = ? WHERE name = ?")) { $stmt->bind_param('bs',$array2,$user['name']); $stmt->execute(); }
这就是我学会了如何将数组存储到mysql中。
echo unserialize($user['dungeon_list']);
这就是我输出它的方式。 它说通知:unserialize()[function.unserialize]:第12行C:\\ wamp \\ www \\ index.php中偏移量为0的140字节错误
Dungeon_list存储为blob,因为我学会了用它来存储它。 谢谢!
尝试在序列化和反序列化之前对数组进行编码和解码,因为如果它在任何数组值中有任何“,”,:或;,则序列化会被破坏。
//to safely serialize
$safe_string_to_store = base64_encode(serialize($multidimensional_array));
//to unserialize...
$array_restored_from_db = unserialize(base64_decode($encoded_serialized_string));
我不知道你的$user['dungeon_list']
的内容是什么,最好提供内容。
无论如何,它可能是由PHP magic_quotes_gpc
指令引起的。 检查它是否设置为ON可能是有意义的,如果是,也可以将其设置为OFF。 提供一些深度细节,比如在哪里/如何获得$user['dungeon_list']
并显示它的var_dump
或print_r
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.