Ok, So I am interested in storing the number of times that a member cancels a subscription. So, within"case 'subscr_cancel':" in paypal_r.inc.php I added the following code: Code: $u = $db->get_user($p['member_id']); if ($u['data']['cancel_count']) $u['data']['cancel_count']++; else $u['data']['cancel_count'] = 1; $u['country'] = "test"; // a test only (it works by the way) $msg = "user: " . $u['login'] . " (" . $u['member_id'] . ")" . " - Cancel Count: " . $u['data']['cancel_count']; $db->log_error("paypal_r DEBUG: CANCEL COUNT UPDATE! $msg"); $db->update_user($u['member_id'], $u); The log_error spew works correctly and does provide "1" as the cancel_count. So, it seems as though $u['data']['cancel_count'] is storing properly at this point. ALSO, it *is* updating the 'country' field in the database to "test" ...so, I know that this routine as a whole is doing something. However, there is nothing being written to the database for "cancel_count" in the 'data' field. It's as though $db->update_user isn't updating the data field at all. Am I missing something here or doing something wrong?
Also, while I'm asking questions, perhaps someone can explain to me why the section of code dealing with the 'data' field is different between "update_user" and "update_payment" (in mysql.inc.php). My understanding of MySQL and php is somewhat limited; however, it appears to me as though the 'data' field is doing the same thing in both tables (the members table as well as the payments table). Following the 'update' logic for the "data" field in both tables is a little over my head; however, I can read it enough to see that the routines are different. I just don't see the reason why they would be different.