[SEARCH] Could not execute statement

  • Affected Version
    WoltLab Suite 5.2

    Hallo,

    Ich kriege ab und zu diese Fehlermeldung im ACP die von der Suche stammt:

    Requested URL
    /cms/search/
    Referrer
    https://community.domain.tld/cms/search/
    WoltLab Suite
    5.2.4
    PHP
    7.4.4
    Error Message
    Could not execute statement 'INSERT INTO wcf1_search_keyword (keyword,searches,lastSearchTime) VALUES (?,?,?)'
    Type
    wcf\system\database\exception\DatabaseQueryExecutionException
    File (Line)
    /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/database/statement/PreparedStatement.class.php (105)
    Query Parameter 1
    'Gemüse Dünger'
    Query Parameter 2
    1
    Query Parameter 3
    1586346671
    Stacktrace
    1. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/DatabaseObjectEditor.class.php (37): wcf\system\database\statement\PreparedStatement->execute(…)
    2. [internal function] (?): wcf\data\DatabaseObjectEditor::create(…)
    3. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/AbstractDatabaseObjectAction.class.php (337): call_user_func(…)
    4. [internal function] (?): wcf\data\AbstractDatabaseObjectAction->create(…)
    5. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/AbstractDatabaseObjectAction.class.php (205): call_user_func(…)
    6. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/search/SearchKeywordManager.class.php (44): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    7. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/form/SearchForm.class.php (373): wcf\system\search\SearchKeywordManager->add(…)
    8. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/form/AbstractForm.class.php (62): wcf\form\SearchForm->save(…)
    9. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/form/SearchForm.class.php (313): wcf\form\AbstractForm->submit(…)
    10. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/form/AbstractForm.class.php (123): wcf\form\SearchForm->submit(…)
    11. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/form/AbstractCaptchaForm.class.php (67): wcf\form\AbstractForm->readData(…)
    12. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/page/AbstractPage.class.php (291): wcf\form\AbstractCaptchaForm->readData(…)
    13. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/form/SearchForm.class.php (418): wcf\page\AbstractPage->show(…)
    14. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/page/AbstractPage.class.php (114): wcf\form\SearchForm->show(…)
    15. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/request/Request.class.php (83): wcf\page\AbstractPage->__run(…)
    16. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/request/RequestHandler.class.php (107): wcf\system\request\Request->execute(…)
    17. /var/www/vhosts/domain.tld/community.domain.tld/cms/index.php (9): wcf\system\request\RequestHandler->handle(…)
    Error Message
    SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'Gemüse Dünger' for key 'keyword'
    Type
    PDOException
    File (Line)
    /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/database/statement/PreparedStatement.class.php (93)
    Stacktrace
    1. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/database/statement/PreparedStatement.class.php (93): PDOStatement->execute(…)
    2. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/DatabaseObjectEditor.class.php (37): wcf\system\database\statement\PreparedStatement->execute(…)
    3. [internal function] (?): wcf\data\DatabaseObjectEditor::create(…)
    4. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/AbstractDatabaseObjectAction.class.php (337): call_user_func(…)
    5. [internal function] (?): wcf\data\AbstractDatabaseObjectAction->create(…)
    6. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/AbstractDatabaseObjectAction.class.php (205): call_user_func(…)
    7. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/search/SearchKeywordManager.class.php (44): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    8. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/form/SearchForm.class.php (373): wcf\system\search\SearchKeywordManager->add(…)
    9. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/form/AbstractForm.class.php (62): wcf\form\SearchForm->save(…)
    10. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/form/SearchForm.class.php (313): wcf\form\AbstractForm->submit(…)
    11. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/form/AbstractForm.class.php (123): wcf\form\SearchForm->submit(…)
    12. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/form/AbstractCaptchaForm.class.php (67): wcf\form\AbstractForm->readData(…)
    13. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/page/AbstractPage.class.php (291): wcf\form\AbstractCaptchaForm->readData(…)
    14. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/form/SearchForm.class.php (418): wcf\page\AbstractPage->show(…)
    15. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/page/AbstractPage.class.php (114): wcf\form\SearchForm->show(…)
    16. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/request/Request.class.php (83): wcf\page\AbstractPage->__run(…)
    17. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/request/RequestHandler.class.php (107): wcf\system\request\Request->execute(…)
    18. /var/www/vhosts/domain.tld/community.domain.tld/cms/index.php (9): wcf\system\request\RequestHandler->handle(…)

    Hatte es schon letztens gesehen es aber ignoriert, an was kann das liegen?

    ┌П┐(◉_◉)┌П┐

  • Ja lesen kann ich auch :D

    ABER WARUM wird versucht es einzufügen wenn so sowieso auf unique steht, das müsste doch im code schon abgefangen werden dass es nicht zu einer Fehlermeldung kommt, darauf will ich hinaus.

    ┌П┐(◉_◉)┌П┐

  • Hab eben nochmals geschaut, bei der anderen Fehlermeldung dieser Art war der Suchbegriff ohne Umlaute.

    Ich selbst hatte diese Fehlermeldung noch nicht hab die nur im ACP entdeckt.

    Wenn ich Gemüse Dünger als Suchbegriff eingebe, wird mir weder eine Fehlermeldung angezeigt noch im ACP was registriert.


    EDIT: Anstatt des INSERT müsste doch eigentlich ein UPDATE gemacht werden um diese Daten zu aktualisieren wenn das keyword schon existiert (keyword,searches,lastSearchTime)

    ┌П┐(◉_◉)┌П┐

  • Im SearchKeywordManager der für die Verwaltung der Tabelle wcf1_search_keyword zuständig ist, wird erst geschaut, ob es den gesuchten Begriff schon in der Tabelle gibt und dann im Wahrheitsfall nur das Attribute searches inkrementiert. Sonst wird halt der gezeigte Datenbankbefehl zum Einfügen ausgeführt.

    Insofern es sich irgendwie gezielt reproduzieren lässt, würde ich ein Ticket erstellen und jemanden von WoltLab drüber schauen lassen. Ich selber kann es sowohl mit Umlauten als auch ohe Umlaute im Suchbegriff nicht nachstellen.

  • Ich selbst konnte es auch nicht nachstellen als ich das keyword eingegeben habe passierte nix.

    Komisch, vielleicht hat hier ein bot irgendwas gemacht, ist jedenfalls seltsam.

    Sollte ich noch was in der Art entdecken werde ich mich mal ab den Support wenden.

    ┌П┐(◉_◉)┌П┐

  • Der UserAgent in der Fehlermeldung deutet allerdings auf dem ersten Blick nicht auf einen Bot hin. Außerdem sollte dieser bestenfalls auch keine Fehlermeldung auslösen.

    Welche Begriffe lösten die Meldung denn noch beispielsweise aus?

  • Aktuell waren es nur 2 Begriffe:

    Gemüse Dünger

    Scrog

    Ja ist seltsam war eine neuinstallation und danach Import.

    Wenn ich die Begriffe selbst eingebe Gibs keine Fehlermeldung noch wird was im acp geloggt.

    Danke für deine Hilfe.

    ┌П┐(◉_◉)┌П┐

  • Dieser Fehler kann auftreten, wenn zB zweimal gleichzeitig der selbe Begriff gesucht wird. Bei Suche1 wird der Eintrag geschrieben, bei Suche2 kommt es dann zum Fehler. Da Webseiten-Anfragen nicht atomar sind, sondern gleichzeitig stattfinden können, kann es eben zu diesem Fehler kommen.

    Vielleicht wäre ein "Replace Into" query besser, aber wohl nicht zu allen Datenbanken kompatibel.

  • Einen ähnlichen Fehler hab ich heute im ACP gesehen aber diesmal bei den likes:

    Requested URL
    /index.php?ajax-proxy/&t=1e41c5c1a53836f1988d79c86d68dd9d052b941d
    Referrer
    https://community.domain.tld/thread/13268-zeus-308-xt-farred-16-seeds/?postID=319308
    WoltLab Suite
    5.2.5
    PHP
    7.4.4
    Error Message
    Could not execute statement 'INSERT INTO wcf1_like_object (objectTypeID,objectID,objectUserID,likes,dislikes,cumulativeLikes,cachedReactions) VALUES (?,?,?,?,?,?,?)'
    Type
    wcf\system\database\exception\DatabaseQueryExecutionException
    File (Line)
    /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/database/statement/PreparedStatement.class.php (105)
    Query Parameter 1
    302
    Query Parameter 2
    319308
    Query Parameter 3
    7045
    Query Parameter 4
    1
    Query Parameter 5
    0
    Query Parameter 6
    1
    Query Parameter 7
    'a:1:{i:1;i:1;}'
    Stacktrace
    1. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/DatabaseObjectEditor.class.php (37): wcf\system\database\statement\PreparedStatement->execute(…)
    2. [internal function] (?): wcf\data\DatabaseObjectEditor::create(…)
    3. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/AbstractDatabaseObjectAction.class.php (337): call_user_func(…)
    4. [internal function] (?): wcf\data\AbstractDatabaseObjectAction->create(…)
    5. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/AbstractDatabaseObjectAction.class.php (205): call_user_func(…)
    6. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/reaction/ReactionHandler.class.php (464): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    7. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/reaction/ReactionHandler.class.php (314): wcf\system\reaction\ReactionHandler->updateLikeObject(…)
    8. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/reaction/ReactionAction.class.php (160): wcf\system\reaction\ReactionHandler->react(…)
    9. [internal function] (?): wcf\data\reaction\ReactionAction->react(…)
    10. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/AbstractDatabaseObjectAction.class.php (205): call_user_func(…)
    11. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/action/AJAXProxyAction.class.php (75): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    12. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/action/AJAXInvokeAction.class.php (94): wcf\action\AJAXProxyAction->invoke(…)
    13. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/action/AbstractAction.class.php (47): wcf\action\AJAXInvokeAction->execute(…)
    14. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/action/AJAXInvokeAction.class.php (61): wcf\action\AbstractAction->__run(…)
    15. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/request/Request.class.php (83): wcf\action\AJAXInvokeAction->__run(…)
    16. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/request/RequestHandler.class.php (107): wcf\system\request\Request->execute(…)
    17. /var/www/vhosts/domain.tld/community.domain.tld/index.php (9): wcf\system\request\RequestHandler->handle(…)
    Error Message
    SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '302-319308' for key 'objectTypeID'
    Type
    PDOException
    File (Line)
    /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/database/statement/PreparedStatement.class.php (93)
    Stacktrace
    1. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/database/statement/PreparedStatement.class.php (93): PDOStatement->execute(…)
    2. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/DatabaseObjectEditor.class.php (37): wcf\system\database\statement\PreparedStatement->execute(…)
    3. [internal function] (?): wcf\data\DatabaseObjectEditor::create(…)
    4. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/AbstractDatabaseObjectAction.class.php (337): call_user_func(…)
    5. [internal function] (?): wcf\data\AbstractDatabaseObjectAction->create(…)
    6. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/AbstractDatabaseObjectAction.class.php (205): call_user_func(…)
    7. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/reaction/ReactionHandler.class.php (464): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    8. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/reaction/ReactionHandler.class.php (314): wcf\system\reaction\ReactionHandler->updateLikeObject(…)
    9. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/reaction/ReactionAction.class.php (160): wcf\system\reaction\ReactionHandler->react(…)
    10. [internal function] (?): wcf\data\reaction\ReactionAction->react(…)
    11. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/data/AbstractDatabaseObjectAction.class.php (205): call_user_func(…)
    12. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/action/AJAXProxyAction.class.php (75): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    13. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/action/AJAXInvokeAction.class.php (94): wcf\action\AJAXProxyAction->invoke(…)
    14. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/action/AbstractAction.class.php (47): wcf\action\AJAXInvokeAction->execute(…)
    15. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/action/AJAXInvokeAction.class.php (61): wcf\action\AbstractAction->__run(…)
    16. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/request/Request.class.php (83): wcf\action\AJAXInvokeAction->__run(…)
    17. /var/www/vhosts/domain.tld/community.domain.tld/cms/lib/system/request/RequestHandler.class.php (107): wcf\system\request\Request->execute(…)
    18. /var/www/vhosts/domain.tld/community.domain.tld/index.php (9): wcf\system\request\RequestHandler->handle(…)

    ┌П┐(◉_◉)┌П┐

Participate now!

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