我想知道这是否可行?将数组插入数据库中的一个字段.
例如,我有一个标题,我希望只有一个id的标题,但它将在网站上使用.
使另一个表具有全局ID,然后另一个表与实际标题链接到具有全局id的表相比,感觉有点不必要.
我只想拥有这样的东西
ID TITLE 1 Array("english title","nederlandse titel");
我正在使用PHP / MSYQL,所以如果可行,请用这些语言解释.
哦,是的,我认为我可以将它格式化,并使用split功能将其再次转换为数组.但我想知道我是否可以立即将其存储为数组,我认为用户可能会输入具有相同格式的内容(百万分之一)
它是可行的:
$title = serialize($array);
然后解码:
$title = unserialize($MysqL_data);
但正如所提到的,它首先真正减少了数据库的好处.我肯定建议您查看多表或多列选项,具体取决于您希望支持的语言数量以及该数字将来是否会发生变化.
编辑:dcousineau提到的一个好点(见评论)
Sometimes the serialized output,even after escaping,throws characters into the query that screws things up. You may want to wrap your serialize() in base64_encode() calls and then use base64_decode() before you unserialize.
调整了这些情况的代码:
$title = base64_encode(serialize($array) ); $title = unserialize(base64_decode($MysqL_data) );