0

我正在 php 中创建一个搜索框,以访问 SOQL 销售人员数据库中的数据。到目前为止,我有这个:

$query = "SELECT Id, FirstName, LastName, Phone From Contact WHERE FirstName = '$var'";

效果很好。但是,我该怎么做才能让我们说$var可能是电话号码。因此,如果它与名字不匹配,请在电话号码等中搜索匹配项。

4

2 回答 2

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' ";
于 2012-07-20T02:14:24.823 回答
1

试试这个:

$query = "SELECT Id, FirstName, LastName, Phone From Contact WHERE FirstName LIKE '%$var%' OR Phone LIKE '%$var%'";

使用 LIKE 而不是 = 您可以匹配部分名称,例如搜索 dav 将导致返回 David 和 Daves。% 是通配符占位符。

于 2012-07-20T02:15:37.670 回答