UserAction Update groups

  • Hallo ich programmiere gerade eine Verifizierung


    Ich versuche derzeit bei dem UserAction 'update' event die gruppen zu setzen aber irgendwie bekomme ich die ganze zeit den Fehler SQLSTATE[HY093]: Invalid parameter number



    Fehlermeldung


    Requested URL
    POST /verify/minecraft/
    Referrer
    https://maybemc.net/verify/minecraft/
    Error Message
    Could not execute statement 'SELECT user_rank.rankID FROM wcf1_user_rank user_rank LEFT JOIN wcf1_user_group user_group ON (user_group.groupID = user_rank.groupID) WHERE user_rank.groupID IN (?) AND user_rank.requiredPoints <= ? AND user_rank.requiredGender IN (?,?) ORDER BY user_group.priority DESC, user_rank.requiredPoints DESC, user_rank.requiredGender DESC LIMIT 1'
    Type
    wcf\system\database\exception\DatabaseQueryExecutionException
    File (Line)
    /home/maybemk/forum/lib/system/database/statement/PreparedStatement.class.php (105)
    Query Parameter 1
    875
    Query Parameter 2
    0
    Query Parameter 3
    '1'
    Stacktrace
    1. /home/maybemk/forum/lib/data/user/UserProfileAction.class.php (378): wcf\system\database\statement\PreparedStatement->execute(…)
    2. /home/maybemk/forum/lib/data/AbstractDatabaseObjectAction.class.php (204): wcf\data\user\UserProfileAction->updateUserRank(…)
    3. /home/maybemk/forum/lib/data/user/UserAction.class.php (475): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    4. /home/maybemk/forum/lib/data/AbstractDatabaseObjectAction.class.php (204): wcf\data\user\UserAction->addToGroups(…)
    5. /home/maybemk/forum/lib/data/user/UserAction.class.php (345): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    6. /home/maybemk/forum/lib/data/AbstractDatabaseObjectAction.class.php (204): wcf\data\user\UserAction->update(…)
    7. /home/maybemk/forum/verify/lib/form/MinecraftVerifyForm.class.php (109): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    8. /home/maybemk/forum/lib/form/AbstractForm.class.php (62): minecraft\form\MinecraftVerifyForm->save(…)
    9. /home/maybemk/forum/lib/form/AbstractForm.class.php (123): wcf\form\AbstractForm->submit(…)
    10. /home/maybemk/forum/lib/page/AbstractPage.class.php (291): wcf\form\AbstractForm->readData(…)
    11. /home/maybemk/forum/verify/lib/form/MinecraftVerifyForm.class.php (140): wcf\page\AbstractPage->show(…)
    12. /home/maybemk/forum/lib/page/AbstractPage.class.php (114): minecraft\form\MinecraftVerifyForm->show(…)
    13. /home/maybemk/forum/lib/system/request/Request.class.php (83): wcf\page\AbstractPage->__run(…)
    14. /home/maybemk/forum/lib/system/request/RequestHandler.class.php (109): wcf\system\request\Request->execute(…)
    15. /home/maybemk/forum/verify/index.php (11): wcf\system\request\RequestHandler->handle(…)
    Error Message
    SQLSTATE[HY093]: Invalid parameter number
    Type
    PDOException
    File (Line)
    /home/maybemk/forum/lib/system/database/statement/PreparedStatement.class.php (93)
    Stacktrace
    1. /home/maybemk/forum/lib/system/database/statement/PreparedStatement.class.php (93): PDOStatement->execute(…)
    2. /home/maybemk/forum/lib/data/user/UserProfileAction.class.php (378): wcf\system\database\statement\PreparedStatement->execute(…)
    3. /home/maybemk/forum/lib/data/AbstractDatabaseObjectAction.class.php (204): wcf\data\user\UserProfileAction->updateUserRank(…)
    4. /home/maybemk/forum/lib/data/user/UserAction.class.php (475): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    5. /home/maybemk/forum/lib/data/AbstractDatabaseObjectAction.class.php (204): wcf\data\user\UserAction->addToGroups(…)
    6. /home/maybemk/forum/lib/data/user/UserAction.class.php (345): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    7. /home/maybemk/forum/lib/data/AbstractDatabaseObjectAction.class.php (204): wcf\data\user\UserAction->update(…)
    8. /home/maybemk/forum/verify/lib/form/MinecraftVerifyForm.class.php (109): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    9. /home/maybemk/forum/lib/form/AbstractForm.class.php (62): minecraft\form\MinecraftVerifyForm->save(…)
    10. /home/maybemk/forum/lib/form/AbstractForm.class.php (123): wcf\form\AbstractForm->submit(…)
    11. /home/maybemk/forum/lib/page/AbstractPage.class.php (291): wcf\form\AbstractForm->readData(…)
    12. /home/maybemk/forum/verify/lib/form/MinecraftVerifyForm.class.php (140): wcf\page\AbstractPage->show(…)
    13. /home/maybemk/forum/lib/page/AbstractPage.class.php (114): minecraft\form\MinecraftVerifyForm->show(…)
    14. /home/maybemk/forum/lib/system/request/Request.class.php (83): wcf\page\AbstractPage->__run(…)
    15. /home/maybemk/forum/lib/system/request/RequestHandler.class.php (109): wcf\system\request\Request->execute(…)
    16. /home/maybemk/forum/verify/index.php (11): wcf\system\request\RequestHandler->handle(…)


    und die json die ich bekomme sieht so aus:


    JSON
    {
        "uuid": "06b8f220-a924-4b4e-81d6-7b5cbf510086",
        "name": "xXSwainXx",
        "rankName": "admin",
        "rankColor": "§4",
        "forumRankId": 69
    }


    Kann mir da jemand helfen?

  • Vielleicht sehe ich das auf den ersten Blick falsch, aber die uuid wird doch nicht mit der deines Benutzers übereinstimmen, oder?


    Die uuid aus dem Response

    "uuid": "06b8f220-a924-4b4e-81d6-7b5cbf51008

    nutzt du derzeit für die Action:

    $this->uuid = $getData['uuid'];

    // ach, ich schätze du pflegst noch eine separate uuid?

    Edited once, last by itsmeJAY ().

  • Hallo,


    was mir auffällt: warum ist in deinem Beispiel in Zeile 7 ein curl_close? Falls du irgendwo einen HTTP-Request machst, nutze am besten Guzzle. Außerdem nutze am besten wcf\util\JSON::decode anstatt json_decode.

    • Official Post

    Hallo,


    die Fehlermeldung kommt daher, dass der Benutzer in keiner Gruppe mehr ist. Bei UserAction::update() müssen auch die Standardgruppen (inkl. Jeder) manuell gesetzt werden. Ich empfehle addToGroups stattdessen. Außerdem vermute ich, dass die ID 69 keine gültige Gruppen-ID ist, sonst hätte der Benutzer noch eine Gruppe.

  • Ich empfehle addToGroups stattdessen.

    Hey ich habe jetzt wie empfohlen addToGroups hinzugefügt nur leider ändert sich da auch nichts... ich bekomme keinen Rang dazu :(


    Der Code:



    der Debug sieht so aus:


    was mache ich falsch?

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!