11

I am using Force.com Toolkit for PHP (Version 20.0) to integrate with Salesforce.

I would like to lookup some Contact via the email field and print in on page if the condition is met. Here is the query I used:

SELECT Name, Email, npe01__HomeEmail__c, npe01__WorkEmail__c, npe01__AlternateEmail__c FROM Contact WHERE Email = "a@a.com"

In Workbench everything works fine, however, when I use the same query in PHP I get the following error:

'MALFORMED_QUERY: npe01__AlternateEmail__c FROM Contact WHERE Email="a@a.com"
ERROR at Row:1:Column:112
Bind variables only allowed in Apex code'

What would be best practice to help me solve this problem?

Thanks!

odedta
  • 2,430
  • 4
  • 24
  • 51
  • 1
    I know SOQL is weird with " have you tried just the query SELECT Name, Email, npe01__HomeEmail__c, npe01__WorkEmail__c, npe01__AlternateEmail__c FROM Contact WHERE Email = 'a@a.com' ? – Halfwarr May 18 '17 at 14:19
  • Yes, the quotes don't matter. I even used a variable and it doesn't work. – odedta May 18 '17 at 14:21

1 Answers1

5

It turns out that halfwarr was right! I used the following code to get this to work:

$donor_email = 'odedtalmon@gmail.com';
$query = 'SELECT Name, Email, npe01__HomeEmail__c, npe01__WorkEmail__c, npe01__AlternateEmail__c FROM Contact WHERE Email=\''.$donor_email.'\'';
Community
  • 1
  • 1
odedta
  • 2,430
  • 4
  • 24
  • 51