Mysql
 sql >> Base de données >  >> RDS >> Mysql

Lorsque vous essayez de changer le nom d'utilisateur, la requête MySQL échoue

J'ai compris que cela était dû à l'utilisation du nom d'utilisateur pour obtenir l'identifiant, ce qui signifie que le fait de changer le nom d'utilisateur signifiait qu'aucun identifiant ne pouvait être récupéré. J'ai donc changé mon code et ajouté un champ caché pour l'identifiant dans mon formulaire.

Ancien code :

$user->username = $db->mysql_prep($_POST["username"]);
$user->hashed_password = ($_POST["password"]);
$user->firstname = $db->mysql_prep($_POST["firstname"]);
$user->lastname = $db->mysql_prep($_POST["lastname"]);

$user_query = $user->find_user_by_username($user->username);
$user->id = $user_query["id"];

$result = $user->change_user_by_id($user);

unset($user);

remplacé par le nouveau code :

$user->username = $db->mysql_prep($_POST["username"]);
$user->hashed_password = ($_POST["password"]);
$user->first_name = $db->mysql_prep($_POST["first_name"]);
$user->last_name = $db->mysql_prep($_POST["last_name"]);
$user->id = $db->mysql_prep($_POST["id"]);

$result = $user->change_user_by_id($user);

unset($user);