为什么我的 PHP "if"条件被忽略了?中断/继续不工作



>我有以下一组if/elseif条件,用于在提交表单时更新标题为Col&Col2的列:

if($data3["Col"] < 2 ){
$db->query("UPDATE answers SET Col = Col+1");
}elseif( $data3["Col"]= 2){
$db->query("UPDATE answers SET Col = Col+0");
}
if($data3["Col2"] < 10){
$db->query("UPDATE answers SET Col2 = Col2+1");
}elseif( $data3["Col2"] >= 10){
$db->query("UPDATE answers SET Col2 = Col2+0");
}

当代码运行时,它会忽略 if/elseif 条件并执行每次更新。例如,假设在表单提交时,Col = 2Col2 = 10ColCol2都应该保持不变。但是,代码将同时更新 1。我已经尝试了我能想到的每一次迭代,使用continuebreakreturn但似乎没有任何效果。

任何帮助将不胜感激。

谢谢!

你错过了这里的平等

elseif($data3["Col"]==2)

等号 (=( 用于赋值而不是用于测试相等性(==(,所以你的elseif子句应该是
$data3["Col"] == 2而不是$data3["Col"]= 2;

if($data3["Col"] < 2 ){
$db->query("UPDATE answers SET Col = Col+1");
}elseif( $data3["Col"]= 2){// not $data3["Col"]= 2 but this $data3["Col"] == 2
$db->query("UPDATE answers SET Col = Col+0");
}

祝你好运

而不是

elseif($data3["Col"]=2){ $db->query("UPDATE answers SET Col = Col+0");}

使用这个:

elseif($data3["Col"]==2){ $db->query("UPDATE answers SET Col = Col+0");}

你不需要使用elseif进行任何操作.. 只需尝试是否有任何操作...

检查$data3["Col2"]值。我认为你的问题就在这里..

最新更新