哦,你如果不是必须的话,为什么不用PHP中crypt或者md5进行加密哪?这样会更好一些哪。
如果是必须的话,可以用类似于这样的方法:
$sqlcmd="update tablename set password=password(\"$password\") where id=$id";
不知道我这样回答的是不是你要问的。?

解决方案 »

  1.   

    谢谢,正是,因为必须用password函数
      

  2.   

    ,()中好象不可用$password参数????
    什么意思?应该可以用啊?列出代码来。
      

  3.   

    $sqlcmd="update tablename set password=password(\"$password\") where id=$id";
    以上语句对password加密了吗?没有吧.
    只是更新了一下数据呀.
    不过可以象TobyLee(秋衫客)一样用crypt和md5加密后再更新数据
    这样用户查询到的密码项也是经过加密了的.是不是要实现这样的加密呢??
      

  4.   

    在这里$password两边加“\"”或者“'”,效果是一样的,可以用的。
      

  5.   

    $sqlcmd="update tablename set password=password(\"$password\") where id=$id";
    以上语句对password加密了吗?这个当然应该是加密了啊。不过MYSQL的官方文档并不提倡用这种方式加密密码。
      

  6.   

    这样不能实现加密,我的代码如下,在数据表user中password1一项是空值,请高手指点!!
    <?
      function editpwform(){
       echo "<h3><div align=center>用户修改密码</div></h3>";
       echo "<form action='editpassword.php' method=post>";
       echo "<div align=center>";
       echo "<table border=0 cellpadding=0 cellspacing=2 width=230 bgcolor=#fcfcfc>";
       echo "<tr><td>用户名:</td><td><input type=text name=username></td></tr>";
       echo "<tr><td>用户密码:</td><td><input type=password name=password></td></tr>";
       echo "<tr><td>新密码:</td><td><input type=password name=newpw></td></tr>";
       echo "<tr><td>确认密码:</td><td><input type=password name=confpw></td></tr>";
       echo "</table>";
       echo "<br><INPUT TYPE=SUBMIT value=提交>";
       echo "<input name=reset type=reset value=重填>";
       echo "<br><br><a href=''>返回首页</a>";
       echo "</div></form>";
    }
       @mysql_connect("localhost","xuexf","xuexf123") or die("Could not connect");
       @mysql_select_db("db_xuexf") or die("Unable to select database");
       if((!(isset($username))) && (!(isset($password))) && (!(isset($newpw))) && (!(isset($confpw)))) {
       editpwform();
          exit;
      }
      function checkuser($username, $password){
          $password = md5($password);
          $query="select * from user where user_name='$username' and password='$password'";
          $qid=mysql_query($query);
          $num_rows=mysql_num_rows($qid);
          if($num_rows>0) {
              return true;
          }
          else {
              return false;
          }
      }  if(checkuser($username, $password)){ $query="SELECT * FROM user WHERE user_name='$username'";
       $result=mysql_query($query) or die("Query failed");
       $row=mysql_fetch_array($result);
       //or die("<div align=center>没有此用户名!<br><br>请点击这里<a href='editpassword.php'>重试</a>!</div>");
        
       if ($newpw=="") 
      {
       echo "<div align=center>新密码不能为空值!</div>";
       //echo "<div align=center>请点击这里<a href='editpassword.php'>重试</a>!</div>";
       //editpwform();
       exit();
       }
       if($newpw!=$confpw)
       {
       echo "<div align=center>新密码与确认密码不符!</div><br>";
       //echo "<div align=center>请点击这里<a href='editpassword.php'>重试</a>!</div>";
       //editpwform();
       exit();
       }
       if ($row[able]==0)
       {
       echo "<div align=center>用户已冻结!</div>";
       exit();
       }
       else
       {
       $query="UPDATE user SET password=md5('$newpw') WHERE user_name='$username'";
       $result=mysql_query($query) or die("Query failed");
       $sqlcmd="update user set password1=password(\"$password\") where user_name=$username";
          if ($result && $sqlcmd)
          {
           echo "<div align=center>你已修改成功!</div>";
           echo "<div align=center>点击这里<a href='login.php'>返回</a></div>";
           exit();
          }
         else
          {
           echo "<div align=center>对不起,修改失败!</div>";
           //echo "<div align=center>请点击这里<a href='editpassword.php'>重试</a></div>";
           exit();
          }
    }
    }
    else{
       echo "用户名或密码错误!!";

    ?>