I'm trying to add data to a serialized string -
I get the serialized string from my database - e.g. a:1:{i:0;s:2:"32";} Unserialize it add a value to it e.g. 128 serialize it and save it back
But I get s:33:"a:2:{i:0;s:2:"64";i:1;s:3:"128";}";
Where did the s:33 come into it and surrounded the rest in quotes and ends with a semi colon?
function addItem($serializedArray, $item)
{
$a = unserialize($serializedArray);
$a[] = $item;
return serialize($a);
}
$lp = $wpdb->get_results( $wpdb->prepare("Select MemNo from YP_Members Limit 0, 10") );
foreach ($lp as $userid){
$user_id = $userid->MemNo;
$meta_value = $wpdb->get_var( $wpdb->prepare("Select meta_value from iropiusermeta Where meta_key = 'user_iro_area' AND user_id = $user_id") );
echo "User=".$user_id."<br />Value=".$meta_value."<br />";
if ($meta_value){
$user_iro_area = addItem($meta_value, "128");
update_user_meta($user_id, 'user_iro_area_new', $user_iro_area);
} else {
// Add meta_key user_iro_area
echo "<b>Add New Me</b><br />";
$iro_group_num[] = "128";
$user_iro_area = serialize($iro_group_num);
update_user_meta($user_id, 'user_iro_area_new', $user_iro_area);
}
} // End of Main While Loop