使用 '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."'");
编辑:
现在的问题,所有的变量都不能为空,否则查询会报错。有什么办法可以解决这个问题?
您错过了 sourceevaluation 和 evaluationdate
附近的一些空间
试试这个查询:
$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 次,但它解决了问题。语法错误也已解决
我想搜索高级搜索。每个类别的搜索功能都有 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."'");
编辑:
现在的问题,所有的变量都不能为空,否则查询会报错。有什么办法可以解决这个问题?
您错过了 sourceevaluation 和 evaluationdate
附近的一些空间
试试这个查询:
$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 次,但它解决了问题。语法错误也已解决