Php 数据库中的MySQL存储阵列
是否可以像在数据库中一样存储关联数组Php 数据库中的MySQL存储阵列,php,mysql,arrays,Php,Mysql,Arrays,是否可以像在数据库中一样存储关联数组 array( key => value, key2 => value2, key3 => value3, ... ) 当前,如果我写入fieldname='$array',则字段中只存储字符串“array”。试试这个 fieldname = json_encode($array); 当您想从数据库中检索时,请使用 $array = json_decode($field
array(
key => value,
key2 => value2,
key3 => value3,
...
)
当前,如果我写入fieldname='$array'
,则字段中只存储字符串“array”。试试这个
fieldname = json_encode($array);
当您想从数据库中检索时,请使用
$array = json_decode($fieldname);
您也可以这样做:
serialize($array);
然后,当您从数据库中获取它时:
unserialize($array);
使用
将数组存储在数据库中的php代码
从数据库检索数组的步骤
您需要将其展平,序列化可能会起作用,或者进行一些编码/解码method@kevinabelita. 数组键与db表中的字段不同。可能会给出一些观点,但这不包括数据库插入,请避免使用
mysql\uucode>@Anigel,json编码/解码就可以了。谢谢你的建议。是的!在我的例子中,json编码/解码确实是一种方式!谢谢@Kevinabelita事实上这已经解决了!我的错,我没有那样想。谢谢感谢您提供此解决方案。这与使用json编码/解码不同。
$fieldname = json_encode($array);
php code to store array in database
<?
$array_string = array(key => value, key2 => value2, key3 => value3);
$conn=mysql_connect('localhost', 'mysql_user', 'mysql_password');
mysql_select_db("mysql_db",$conn);
$array_string=mysql_escape_string(serialize($array));
mysql_query("insert into table (column) values($array_string)",$conn);
?>
To retrieve array from database
<?
$conn=mysql_connect('localhost', 'mysql_user', 'mysql_password');
mysql_select_db("mysql_db",$conn);
$q=mysql_query("select column from table",$conn);
while($rs=mysql_fetch_assoc($q))
{
$array= unserialize($rs['column']);
print_r($array);
}
?>