PHP从数组中获取元素存储在mySQL数据库

问题描述:

我有一个mySQL表,其中有一个字段,我在其中保存我的数组。所以在表字段我有这个:PHP从数组中获取元素存储在mySQL数据库

a:2:{i:0;s:10:"XXX1";i:1;s:10:"XXX2";} 

我在PHP中使用此代码段来获取字段值。

$getCodes = mysql_query("SELECT * FROM foo WHERE bar='$barID'"); 
while($codeRow = mysql_fetch_array($getCodes)) 
{ 
    $code = $codeRow['codes']; 
} 

当我回显$ code时,它会打印完整的数组。我如何在一个新行上打印每个元素,或者如何访问特定元素?

+2

将数组存储在单个字段中并不是一个好主意。看看[规范化](http://en.wikipedia.org/wiki/Database_normalization) – 2012-03-18 19:03:57

+0

你是否以序列化格式存储它?或者其他的一些 – 2012-03-18 19:11:03

+0

@MostyMostacho - 有时候将数组存储在单个字段中有很好的理由。这取决于具体情况。 – 2012-03-18 20:31:41

$code = unserialize($codeRow['codes']); 
+0

非常感谢你:) – 2012-03-18 19:04:55