本帖最后由 hackhua 于 2012-01-10 11:01:42 编辑

解决方案 »

  1.   

    首先得弄清楚要采取什么加密算法. 如果是不可逆的 例如MD5
    UPDATE xxx SET `password`=MD5(`password`);
    直接用SQL 来处理就行老
      

  2.   

    先查询出所有的会员ID,密码然后使用foreach来循环更新,不过,如果数据量比较大的话,这个弊端是可能因为请求太快,导致上一个没有完成就开始下一个,从而修改失败,此时可以在FOREACH里加一个SLEEP(1),第循环一次都让程序暂停1秒,也就是1秒更新一个,不过,这个浪费时间。
      

  3.   

              我就是不大 清楚代码怎么写 历遍逐条修改
     我现在只会,, 把密码加密了以后 把他insert到其他的表,
     不知道代码怎么实现 可以在现有的表上直接修改。
      

  4.   


    //假设表有自增id,
    ……
    $q = mysql_query("SELECT id, passwd FROM userinfo");
    while($row = mysql_fetch_assoc($q))
    {
    $sql = "UPDATE userinfo SET passwd='" . $oCipher->getEncrypt($row["passwd"]) . "' WHERE id='{$row['id']}'";
    mysql_query($sql);
    }
      

  5.   

            谢谢    如果没有自增id是不是就麻烦点  
    数据量很大的话  要设置php执行超时时间和mysql的执行超时时间嘛