使用 'and' 或 'or' 作为变量在 PHP 中查询

Query in PHP with 'and' or 'or' as variable

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

我将 and/or 存储到变量调用 $pil、$pil1、$pil2 和 $pil3 中。并将质疑他们。它比 and/or

的每个条件都一一验证要好

所以这是我在 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."'");

编辑:

现在的问题,所有的变量都不能为空,否则查询会报错。有什么办法可以解决这个问题?

您错过了 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."'");

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