Mysql 在一个查询中的多个更新中的if-else
我对此查询有疑问:Mysql 在一个查询中的多个更新中的if-else,mysql,if-statement,updates,Mysql,If Statement,Updates,我对此查询有疑问: foreach ($_POST['cod'] as $i => $cod) { $sth = $conn->prepare("UPDATE LPRODALMACEN SET `existencia` = `existencia` + :comprado WHERE `cod` = :cod"); $sth->bindParam(':comprado', $tExiste[$i]); $sth->bindParam(':cod',
foreach ($_POST['cod'] as $i => $cod) {
$sth = $conn->prepare("UPDATE LPRODALMACEN SET `existencia` = `existencia` + :comprado WHERE `cod` = :cod");
$sth->bindParam(':comprado', $tExiste[$i]);
$sth->bindParam(':cod', $_POST['cod'][$i]);
$sth->execute();
$i++;
}
如果条件为1或0,我需要使用以下命令生成if-else:
$_POST['medida'][$i] == '0' ? $_POST['comprado'][$i] : $_POST['tExiste'][$i];
如果$medida为==0,则添加
$comprado
中的值;如果medida为==1,则添加$tExiste
中的值,则如何将其放入查询中?根据条件设置变量
此外,您不需要在循环中使用prepare()
和bindParam()
。准备并绑定一次,然后在循环中执行bindParam()
绑定到引用,因此只需更新循环中的变量
$sth = $conn->prepare("UPDATE LPRODALMACEN SET `existencia` = `existencia` + :comprado WHERE `cod` = :cod");
$sth->bindParam(":comprado", $comprado);
$sth->bindParam(":cod", $cod);
foreach ($_POST['cod'] as $i => $cod) {
$comprado = $_POST['medida'][$i] == '0' ? $_POST['comprado'][$i] : $_POST['tExiste'][$i];
$sth->execute();
}
是否要设置:comprado取决于$u POST['medida'][$i]是什么?@nbk,是的,这就是我需要的。