dsxi70423 2019-02-19 06:25
浏览 108
已采纳

如果mysql中的if子句选择

My full query is:

$sql = "SELECT vehicle_id,  fuel_type, gearbox_type, door_type, engine_package_name, FORMAT(engine_cap, 1)engine_cap, engine_power, FORMAT(fuel_cons, 1)fuel_cons, FORMAT(std_price, 0)std_price 
FROM vehicle 
WHERE model_id = '$model_id' 
AND fuel_type IN ('$fuel_type1', '$fuel_type2', '$fuel_type3', '$fuel_type4') AND gearbox_type IN( '$gearbox_type1', '$gearbox_type2', '$gearbox_type3', '$gearbox_type4') AND door_type IN ('$door_type1', '$door_type2', '$door_type3', '$door_type4')" ;

I would like to skip the part of the query shown below if $fuel_type1 equals to zero.

AND fuel_type IN ('$fuel_type1', '$fuel_type2', '$fuel_type3', '$fuel_type4') 

I have tried

$sql = "SELECT vehicle_id,  fuel_type, gearbox_type, door_type, engine_package_name, FORMAT(engine_cap, 1)engine_cap, engine_power, FORMAT(fuel_cons, 1)fuel_cons, FORMAT(std_price, 0)std_price 
FROM vehicle 
WHERE model_id = '$model_id' ";

if($fuel_type1 != 0) 
{ 
    $sql += “ AND fuel_type IN ('$fuel_type1', '$fuel_type2', '$fuel_type3', '$fuel_type4')”;
}

didn't worked.

Also I have tried

$sql = "SELECT vehicle_id, fuel_type, gearbox_type, door_type, engine_package_name, FORMAT(engine_cap, 1)engine_cap, engine_power, FORMAT(fuel_cons, 1)fuel_cons, FORMAT(std_price, 0)std_price 
FROM vehicle 
WHERE model_id='$model_id’ 
AND IF($fuel_type1 <> 0,'fuel_type','0') IN ('$fuel_type1', '$fuel_type2', '$fuel_type3', '$fuel_type4’)";

didn't worked :((

any help will be appreciated.

  • 写回答

1条回答 默认 最新

  • duanji9378 2019-02-19 07:16
    关注

    problem is in your concatenation process

    in PHP there should b a do t. to concatenate not + sign

    if($fuel_type1 != 0) 
    { 
        $sql .= “ AND fuel_type IN ('$fuel_type1', '$fuel_type2', '$fuel_type3', '$fuel_type4')”;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么