При вставке нового пользователя в базу данных я хочу хешировать пароль. это то, что у меня есть.
static function getLastId(){ global $database; $sql = 'SELECT ID from users ORDER BY id DESC LIMIT 1' ; $result = $database->query($sql); return $result; } static function create_user($username,$password ){ global $database; $lastID = self::getLastId() + 1; $ePassword = $database->escape_value($password); $hash = hash('sha256', $lastID . $ePassword); $sql = "INSERT INTO ". self::$table_name . " (username, password, first_name, last_name, power ) VALUES "; $sql .= "('{$database->escape_value($username)}', '{$hash}', 'asd' , 'asd', 'user') "; $query = $database->query($sql); return ($query)? true : false; }
когда я делаю печать или var дамп $ lastID, я получаю 13. Однако, глядя в базу данных, у меня только 1 пользователь, с идентификатором 1. Я даже усекал таблицу, но я все еще получаю 13. Не знаю, почему.
в основном идея состоит в том, что я хочу добавить $ lastID к паролю, так что его гораздо сложнее отменить. Мне нужно знать, каким будет следующий идентификатор, для целей входа.