0

我创建的代码从 Highrise API 获取数据并导入到我们的 MySQL 数据库表中。

这不会往返于 db 和 Highrise。当销售代表单击我创建的“同步”按钮时,它只是从 Highrise 转到数据库。

当他们填充 Highrise 自定义字段并单击同步时,一切正常。当他们从自定义字段中删除数据并单击“同步”时,就会出现问题。

我有一个循环为每个执行此操作:

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'})."'");

所以它显然会 INSERT 就好了.. 或 UPDATE 如果有重复.. 但如果它突然变成空白怎么办?我如何检查它是否为空白?

我认为问题在于提取 API 数据 - 它不会返回空白的自定义字段。

4

1 回答 1

0

通常,您需要在保存字段值之前检查字段是否存在。如果该字段存在,请将其值分配给您传递给数据库查询的变量。如果不是,请将值分配给 null 并确保 DB 查询在数据库中相应地设置 null。

于 2013-08-01T06:54:03.547 回答