业务需求是:
读取某个表中每一行的的字段A、B、C的值
如果C的值是0,就改成1或者2
代码大概是这么写的:
$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语句取值的结果?
- 4 回答
- 0 关注
- 339 浏览
添加回答
举报
0/150
提交
取消