Salesforce maintenance page link https://trailhead.salesforce.com/content/learn/trails/maintain-your-salesforce-certifications
Get Hands-on with Bind Variables in a SOQL Query
The new Database methods (queryWithBinds, getQueryLocatorWithBinds, and countQueryWithBinds) simplify query binding by resolving bind variables directly from a Map parameter using a key. This change affects Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, and Developer editions.
Use Below Solution Code on your new org:
public class QueryContact {
public static Id getContactID(String lastName, String title) {
try {
Contact myContact = Database.query(
'SELECT ID FROM Contact WHERE lastName = :lastName AND title = :title LIMIT 1'
);
return myContact.Id;
} catch (Exception ex) {
return null;
}
}
public static Id getContactIDWithBinds(Map<String, Object> bindVars) {
//do not modify any code above this line
//implement the logic that will use bindVars to retrieve the contact's ID
String queryString =
'SELECT ID FROM Contact WHERE lastName = :lastName AND title = :title LIMIT 1';
List<Contact> Contacts = Database.queryWithBinds(
queryString,
bindVars,
AccessLevel.USER_MODE
);
return Contacts[0].Id;
}
}