$result=mysql_query("select col0,col1 from………");
           $arr=mysql_fetch_array($result);
i=0;           
while($arr[$i]=mysql_fetch_array($result))
{
               if($arr[$i][col0]==''){
              mysql_query("update tb set col0='ok'…………");
                                     }
                   else
                        {
                           if($arr[$i][col1]==''){
              mysql_query("update tb set col1='ok'…………");
                                                  }
                         }
i++;
}

解决方案 »

  1.   

    你的sql是不是有问题啊??
    update tb set col0='ok'…………");后面的条件你是怎么写的啊,加where了吗?不加where当然后全部都update了。在你select col0,col1 from………");的时候,应该把主键选出来,例如:
    select col0,col1,col_id from………update tb set col0='ok' where col_id=$arr[2]
      

  2.   

    我在update后写的break难道大家没明白,就是只update一个列不是col0就是col1。
     还有我写了where(update了一行)。
     我现在真有些晕了,呵呵。
      

  3.   

    变量的变量不是这么构造的
    $tmp = "col".$i
    update tb set $$tmp
      

  4.   

    to :superymq() 
    我写的代码不能帮你解决问题?
    我也有点晕了