while($rows = $query->fetch_array())做为条件内部update只执行了一次,并且不执行接下来的内容

while($rows = $query->fetch_array()){

        $i++;

        $fs = 2;

        $sql = "update k_user set money=money+$fs where uid='".$rows['uid']."' limit 1";

$query = $mysqli->query($sql);

}//主要代码,部分不写出

echo $i;

结果:没输出任何内容,且数据库只更新了一次的数据;

while($rows = $query->fetch_array()){

        $i++;

        $fs = 2;

       // $sql = "update k_user set money=money+$fs where uid='".$rows['uid']."' limit 1";

//$query = $mysqli->query($sql);

}//主要代码,部分不写出

echo $i;

结果: 10;因为没执行,数据库没变化。

while($rows = $query->fetch_array()){

        $i++;

        $fs = 2;

       $sql = "update k_user set money=money+'".$rows['uid']*$fs."' where uid='".$rows['uid']."' limit 1";

        $query = $mysqli->query($sql);

}//主要代码,部分不写出

echo $i;

结果:10 且数据库正常更新该有的次数和数据;

问题来了:为什么会造成上面的结果?????请大神赐教。

朗月王
浏览 1397回答 1
1回答

慕田峪3555374

$fs加引号试试
打开App,查看更多内容
随时随地看视频慕课网APP