我在php中创建一个搜索框,用于访问SOQL salesforce数据库中的数据。到目前为止,我有这个:
$query = "SELECT Id, FirstName, LastName, Phone From Contact WHERE FirstName = '$var'";
哪个效果很好。但是,我怎么做才能让$var
成为电话号码。因此,如果它与名字不匹配,请在电话号码等中搜索匹配。
答案 0 :(得分:1)
这应检查名字中是否匹配或名字中是否匹配但是在手机中找到匹配
$var=mysql_real_escape_string($var); //protect your sql entries from sql injection, make sure to validate
$query = "SELECT Id, FirstName, LastName, Phone From Contact WHERE FirstName = '$var' OR (FirstName !='$var' AND Phone='$var') ";
或者,如果你不介意这里或那里是否匹配,你可以使用or
。这比以前的查询性能更好
$query = "SELECT Id, FirstName, LastName, Phone From Contact WHERE FirstName = '$var' OR Phone='$var' ";
答案 1 :(得分:1)
试试这个:
$query = "SELECT Id, FirstName, LastName, Phone From Contact WHERE FirstName LIKE '%$var%' OR Phone LIKE '%$var%'";
使用LIKE而不是=你可以匹配部分名称,例如搜索dav会导致返回David和Daves。 %是通配符占位符。