मुझे पता चला कि यह आईडी प्राप्त करने के लिए उपयोगकर्ता नाम का उपयोग करने के कारण हुआ था, जिसका अर्थ है कि उपयोगकर्ता नाम बदलने का मतलब है कि कोई आईडी पुनर्प्राप्त नहीं की जा सकती। इसलिए मैंने अपना कोड बदल दिया और अपने फॉर्म में आईडी के लिए एक छिपा हुआ क्षेत्र जोड़ा।
पुराना कोड:
$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);
नए कोड द्वारा प्रतिस्थापित:
$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);