1

我想搜索高级搜索。搜索功能具有和/或每个类别。用户可以选择和 n 或的任意组合。这里我给出截图

高级搜索

我将和/或存储到变量调用 $pil、$pil1、$pil2 和 $pil3 中。并将它们放在查询中。它比一个一个地验证和/或的每个条件更好

所以这是我在 PHP 中使用 postgresql 的查询

$query = pg_query("SELECT   evaluationdate,onlinename,channel,topik,reviewername,sourceevaluation,evaluation 
from AgentPerformance 
where onlinename like '%".$VEOn1."%'
".$pil." reviewername like '%".$VERev1."%' 
".$pil1." channel like '%".$VEChan1."%' 
".$pil2."sourceevaluation like '%".$VESource1."%'
".$pil3."evaluationdate between '".$VEStart1."' and '".$VEEnd1."'");

编辑 :

现在的问题是,所有变量都不能为空,否则查询会出错。有什么办法可以欺骗这个吗?

4

2 回答 2

2

您错过了sourceevaluationevaluationdate
附近的一些空格 试试这个查询:

$query = pg_query("SELECT   evaluationdate,onlinename,channel,topik,reviewername,sourceevaluation,evaluation 
from AgentPerformance 
where onlinename like '%".$VEOn1."%'
".$pil." reviewername like '%".$VERev1."%' 
".$pil1." channel like '%".$VEChan1."%' 
".$pil2." sourceevaluation like '%".$VESource1."%'
".$pil3." evaluationdate between '".$VEStart1."' and '".$VEEnd1."'");
于 2015-12-30T07:29:45.223 回答
0

简单地。对每个 $pil 使用验证,无论它是否为空。它让我验证了 4 次,但它解决了问题。语法错误也已解决

于 2015-12-30T07:45:48.307 回答