我的要求是一次性加密密码并更新MySQL数据库。

这就是我试图做到的方式。但是没有成功。

这是一个好方法吗?

的PHP:

require_once("conn.php"); //PDO
//I've set all passwords in an array
$values = array (
    array ( "studentID"  =>  "SCI164" , "pass" =>  "ABCD12"),
    array ( "studentID"  =>  "GEO24" , "pass" =>  "XYZ1"),
    array ( "studentID"  =>  "SCI112" , "pass" =>  "PQR89")
)
foreach ($values as $temp) {
    foreach($temp as $key => $val){
      $stuID = $key"studentID";
      $rawPass = $key"pass";
      $encPass = md5($rawPass);

      $sql_update = "UPDATE students_db
      set pass = $encPass
      where studentID = $stuID Limit 1";
    }
}

最佳答案

您不能使用.EDITED
$stuID = $key"studentID";这应该给出错误。

foreach($values as $key=>$val) {
      $sql_update = "UPDATE students_db
      set pass ='". md5($val['pass'])."'
      where studentID =". $val['studentID']."Limit 1";
      echo $sql_update;
    }


单引号,因为md5将返回类似xvm456n334的值,即字母数字。

关于php - 使用多维数组更新MySQL数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25542479/

10-11 10:53