diff options
Diffstat (limited to 'user_password.php')
-rw-r--r-- | user_password.php | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/user_password.php b/user_password.php index c9313fc500..44dbc37637 100644 --- a/user_password.php +++ b/user_password.php @@ -131,8 +131,13 @@ function PMA_changePassword($password, $message, $change_password_message) global $auth_plugin; $hashing_function = PMA_changePassHashingFunction(); - $sql_query = 'SET password = ' - . (($password == '') ? '\'\'' : $hashing_function . '(\'***\')'); + if (PMA_Util::getServerType() === 'MySQL' && PMA_MYSQL_INT_VERSION >= 50706) { + $sql_query = 'ALTER USER USER() IDENTIFIED BY ' + . (($password == '') ? '\'\'' : '\'***\''); + } else { + $sql_query = 'SET password = ' + . (($password == '') ? '\'\'' : $hashing_function . '(\'***\')'); + } PMA_changePassUrlParamsAndSubmitQuery( $password, $sql_query, $hashing_function ); @@ -170,9 +175,15 @@ function PMA_changePassUrlParamsAndSubmitQuery( $password, $sql_query, $hashing_function ) { $err_url = 'user_password.php' . PMA_URL_getCommon(); - $local_query = 'SET password = ' . (($password == '') - ? '\'\'' - : $hashing_function . '(\'' . PMA_Util::sqlAddSlashes($password) . '\')'); + if (PMA_Util::getServerType() === 'MySQL' && PMA_MYSQL_INT_VERSION >= 50706) { + $local_query = 'ALTER USER USER() IDENTIFIED BY ' . (($password == '') + ? '\'\'' + : '\'' . PMA_Util::sqlAddSlashes($password) . '\''); + } else { + $local_query = 'SET password = ' . (($password == '') + ? '\'\'' + : $hashing_function . '(\'' . PMA_Util::sqlAddSlashes($password) . '\')'); + } if (! @$GLOBALS['dbi']->tryQuery($local_query)) { PMA_Util::mysqlDie($GLOBALS['dbi']->getError(), $sql_query, false, $err_url); } |