在PHP中通过If语句连接SQL语句

在PHP中通过If语句连接SQL语句,php,sql,pdo,Php,Sql,Pdo,第三个查询不起作用,但if语句中的前两个查询没有任何问题。我正在尝试用PHP创建一个带有日期和过滤器的高级搜索。在sql中使用“AND”有限制吗 有什么技巧可以帮助我获得比这更好的sql语句吗 $sql2 = "SELECT * FROM `work` WHERE `remarks` = 'PENDING' AND `College` IN($college12)"; if (!empty($search) && !empty($criteria)) { $sql2 .

第三个查询不起作用,但if语句中的前两个查询没有任何问题。我正在尝试用PHP创建一个带有日期和过滤器的高级搜索。在sql中使用“AND”有限制吗

有什么技巧可以帮助我获得比这更好的sql语句吗

$sql2 = "SELECT * FROM `work` WHERE `remarks` = 'PENDING' AND `College` IN($college12)";



if (!empty($search) && !empty($criteria)) {
  $sql2 .= "AND `$criteria` LIKE '%$search%' LIMIT $start,$limit";
}

if (!empty($dateFrom) && !empty($dateTo)) {
  $sql2 .= "AND Date_App >= '$dateFrom' AND Date_App <= '$dateTo' LIMIT $start,$limit";
}

if (!empty($dateFrom) && !empty($dateTo) && !empty($search) && !empty($criteria)) {
  $sql2 .= "AND Date_App >= '$dateFrom' AND Date_App <= '$dateTo' AND `$criteria` LIKE '%$search%' LIMIT $start,$limit";
}
$sql2=“在($college12)”中从“工作”中选择*,其中“备注”为“待定”和“学院”;
如果(!empty($search)&&!empty($criteria)){
$sql2.=“和“%$search%”LIMIT$start、$LIMIT”等“$条件”;
}
如果(!empty($dateFrom)&&!empty($dateTo)){

$sql2..="Date_App>='$dateFrom'和Date_App='$dateFrom'和Date_App没有限制,但是确保你使用的是
else if
,而不仅仅是
if
。现在,你可能会遇到多个if。如果发生这种情况,你会有多个限制,其中一些限制会出现在错误的位置。尽管你可以消除最后一个
if
,然后移动IF之外的LIMIT查询将进行检查并在后面追加。请确保在变量的开头/结尾添加一些空格,否则会出现问题。是的,如果所有4个都为!空,则您的查询为this
SELECT*FROM work WHERE comments='PENDING'和College IN($college12)和“%$search%”等$条件限制$start、$limitAND Date_App>='$DATEFORM'和Date_App='$DATEFORM'和Date_App='$DATEFORM'没有限制,但请确保您使用的是
else if
而不是
if
。现在,您可能会遇到多个ifs。如果出现这种情况,您将有多个限制,其中一些限制在错误的位置。尽管您将删除最后一个
if
,并将限制查询从if检查中移出,然后将其追加。并确保在变量的开头/结尾添加一些空格,否则您将遇到问题。是的,如果所有4个都为!空,则您的查询是此
SELECT*FROM work WHERE comments='PENDING'和College IN($college12)以及“%$search%”LIMIT$start、$limitAND Date\u App>='$DATEFORM'和Date\u App='$DATEFORM'和Date\u App>等$条件