Php mysql中的If子句select

Php mysql中的If子句select,php,jquery,mysql,select,Php,Jquery,Mysql,Select,我的全部问题是: $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

我的全部问题是:

$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')" ;
如果$fuel_type1等于零,我想跳过下面显示的查询部分

AND fuel_type IN ('$fuel_type1', '$fuel_type2', '$fuel_type3', '$fuel_type4') 
我试过了

$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')”;
}
$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’)";
没用

我也试过了

$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')”;
}
$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’)";
不起作用:


任何帮助都将不胜感激。

问题在于连接过程中

在PHP中,应该有b a do t。连接非+符号


第一次尝试应该可以,您收到了什么错误?问题是在PHP的连接过程中应该有b a t。连接not+符号“``if$fuel\u type1!=0{$sql.=“和燃料类型在“$fuel_type1”、“$fuel_type2”、“$fuel_type3”、“$fuel_type4”中;}```