The code I created takes data from Highrise API and imports into our MySQL database tables.
This doesn't go to and from the db to Highrise. It simply goes from Highrise to the DB when the sales reps click a "sync" button I created.
Everything works fine when they populate the Highrise custom fields and click Sync. The problem happens when they delete data from a custom field and click "Sync".
I have a loop that does this for each:
mysql_query("INSERT lld_listing_constants (client_hr_id, customvalue, unique_field_id, customglobalid) VALUES ('".addslashes($co_id_hr)."', '".addslashes($subjectdatainner->{'value'})."', '".addslashes($subjectdatainner->{'id'})."', '".addslashes($subjectdatainner->{'subject_field_id'})."')
ON DUPLICATE KEY UPDATE customvalue = '".addslashes($subjectdatainner->{'value'})."', customglobalid = '".addslashes($subjectdatainner->{'subject_field_id'})."'");
So it obviously will INSERT just fine.. or UPDATE if there is a duplicate.. but what if it suddenly becomes blank? How would I check if it's blank?
I think the problem is that pulling the API data - it doesn't return custom fields that are blank.
Generally you'll want to check for the presence of a field before saving its value. If the field exists, assign its value to a variable you pass to the DB query. If not, assign the value to null and make sure the DB query sets null in the database accordingly.