数据库中的MySQL保存数组


MySQL save array in the db

是否可以存储关联数组,因为它是在数据库中?

array(
       key  => value,
       key2 => value2,
       key3 => value3,
       ...
      )

目前,如果我写fieldname = '$array',只有字符串"Array"存储在字段中。

试试这个

fieldname = json_encode($array);

,当你想从数据库中检索时,使用

$array = json_decode($fieldname);

你也可以这样做:

serialize($array);

,然后当你从数据库中获取它时:

unserialize($array);

请使用

$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);
        }
    ?>