在PHP中通过If语句连接SQL语句
第三个查询不起作用,但if语句中的前两个查询没有任何问题。我正在尝试用PHP创建一个带有日期和过滤器的高级搜索。在sql中使用“AND”有限制吗 有什么技巧可以帮助我获得比这更好的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 .
$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个都为!空,则您的查询为thisSELECT*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>等$条件