业务需求是:
代码大概是这么写的:
$query = "SELECT * FROM table WHERE C = 0";
$result = mysqli_query($link, $query);
if($result){
while ($rows = mysqli_fetch_array($result)){
if (判断条件为true) {
$query = "UPDATE table SET C = 1 WHERE A = '".$rows['A']."' AND B = '".$rows['B']."'";
mysqli_query($link, $query);
}else{
$query = "UPDATE table SET C = 2 WHERE A = '".$rows['A']."' AND B = '".$rows['B']."'";
mysqli_query($link, $query)
}
}
}
实际操作中,循环只会操作第一行,把第一行的C更新为1或者2,之后就出现错误,提示:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\***.php on line 21(即上述while的那行)
我理解第一个sql语句已经把表的行都获得了,我在判断后把相应的行的值改了,为什么会影响到第一个sql语句取值的结果?
子衿沉夜
收到一只叮咚
郎朗坤
月关宝盒