Мое требование - зашифровать пароль и обновить базу данных MySQL за один раз.Обновление базы данных 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";
}
}
Если вы уже используете PDO, тогда используйте подготовленные инструкции, не тратьте его на хорошую функциональность, и если вы используете PHP 5.5, используйте ['password hashing'] (http://php.net /manual/en/book.password.php), или если <5.5 использовать [обратную совместимость] (https://github.com/ircmaxell/password_compat) вместо – Ghost
, вы также должны прочитать примечание на странице руководства для функции md5 http://php.net/md5 – mishu
.. и, возможно, запустить фактический запрос – mishu