2012-05-09 30 views
-1

我有一個關聯數組,有什麼最簡單的方法把它放到db(mysql)中?我的意思是要搜索並投入到SINGLE領域。請注意,在序列化之後,我需要能夠反序列化字段。mysql:序列化關聯數組

+0

你是什麼意思「單一領域」? (注意你自己的複數)。你想爲數組的每個成員單個字段?這將取決於數據庫的結構和數組的結構。還是你的意思是「一個領域」?如果您以不能從中受益的方式存儲數據,那麼擁有關係數據庫有什麼意義? – Quentin

+0

這是一個錯誤!抱歉。我想把整個數組放到一個字段中! – Eugeny89

+0

我建議你使用TEXT作爲序列化數據的字段。 如果您知道序列化數據的長度,您可以使用以下信息對其進行調整: 'TEXT會爲您提供65535個字符。 MEDIUMTEXT將做到16777215. LONGTEXT將做到4294967295.' 並用於反序列化使用http://www.php.net/manual/en/function.unserialize.php – arma

回答

2

就像這樣。

$arr=array("data","more data"); 
$result=mysql_real_escape_string(serialize($arr)); 
mysql_query("INSERT INTO table (serialized) VALUES ('{$result}')"); 
+0

謝謝!以及我將如何反序列化? mysql_real_escape_string被還原了嗎? – Eugeny89

+0

使用unserialize()我相信。它會返回一串字符串(你的序列化數據) –