sql >> データベース >  >> RDS >> Mysql

ユーザー名を変更しようとするとMySQLクエリが失敗する

    ユーザー名を使用してIDを取得したことが原因であることがわかりました。つまり、ユーザー名を変更すると、IDを取得できなくなりました。そこで、コードを変更し、フォームにidの非表示フィールドを追加しました。

    古いコード:

    $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);
    



    1. json、jsonb、hstore、xml、enum、ipaddrなどの保存は、列xがタイプjsonで失敗しますが、式はタイプ文字が異なります

    2. 2つの大きなデータベーステーブルを比較する

    3. 行とそのすべての「子」をコピーします

    4. スクリプトを実行するためのpgAdminショートカット