通过PHP进行cURL SOQL查询时如何使用LIKE?

时间:2019-04-17 20:19:15

标签: php curl soql

使用LIKE搜索字符串创建SOQL查询时,我没有得到任何答案或错误。 这是我在代码中查找字符串“ John G”的代码。

$instance_url."/services/data/v45.0/query/?q=SELECT+Id,+First_Name__c,+Last_Name__c,+Lead__c,+HA_Review_Identifier__c+FROM+Reviews__c+WHERE+HA_Review_Identifier__c+LIKE+'%".$row['review_by']."%'";

API连接正常工作,因为当我使用下面的代码时,它运行良好。

$instance_url."/services/data/v45.0/query/?q=SELECT+Id,+First_Name__c,+Last_Name__c,+Lead__c,+HA_Review_Identifier__c+FROM+Reviews__c+WHERE+HA_Review_Identifier__c+=+'".$row['review_by']."'";

仅当$row['review_by']在Salesforce及以上查询中为数字时,该功能才有效。

我读到我应该像下面这样使用参数化搜索:

$instance_url."/services/data/v45.0/parameterizedSearch/?q='".$row['review_by']."'&sobject=Reviews__c&Reviews__c.fields=Id,First_Name__c";

但这不起作用。

谢谢

更新: 当我将SF HA_Review_Identifier__c更改为数值并使用不带%的第一个查询时,它将起作用并且得到结果。 因此,%是问题所在。不确定如何编码,

1 个答案:

答案 0 :(得分:-1)

正确的查询是:

put (field(*)) (=/);

需要使用PHP函数$instance_url."/services/data/v45.0/query/?q=SELECT+Id,+First_Name__c,+Last_Name__c,+Lead__c,+HA_Review_Identifier__c+FROM+Reviews__c+WHERE+HA_Review_Identifier__c+LIKE+".urlencode("'%".$row['review_by']."%'").""; ,但仅用于URL中具有urlencode()字符的部分。

%

希望它将对某人有所帮助。 感谢您的关注。