繁体   English   中英

PHP将数组存储到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_dumpprint_r

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM