Could not execute prepared statement: SQLSTATE[HY000]: General error: 2031

  • Ein Kunde von mir erhält in Zeile 33. folgenden Fehler:



    Es handelt sich hierbei um ein Eventlistener auf die UserAction welche nur bei addToGroups reagiert. Den Fehler kann ich mir aber nicht erklären. Hier soll es sich laut Stackoverflow um einen Binding-Fehler handeln. Jemand eine Idee was hier falsch läuft?

    • Official Post

    Auf den ersten Blick kann ich da erstmal keinen Fehler erkennen, allerdings weicht die Zeilennummer im Code von der Angabe im Stacktrace ab. Ein simpler Fehler beim Übertrag oder steckt da möglicherweise mehr dahinter?

  • Die Zeilennummer war tatsächlich verrutscht, sollte nun stimmen.
    Hier mal der komplette Code:



    Bei mir läuft der Cronjob mit demselben Plugin ohne Probleme durch, deswegen wüsste ich nicht wo der Fehler liegen soll. Komplikation mit einem anderen Plugin? Laut Stacktrace sehe ich da aber nichts.

  • Hallo,


    könnte ich bitte einmal die komplette Exception aus der Log-Datei haben?

    Hier ist der Log:

  • @TimWolla
    Das Problem tritt immer bei manueller Ausführung des Cronjobs "Automatische Benutzergruppenzuordnung" auf, die automatische Ausführung des Cronjobs funktioniert überhaupt nicht.

    • Official Post

    Hallo,

    Das Problem tritt immer bei manueller Ausführung des Cronjobs "Automatische Benutzergruppenzuordnung" auf, die automatische Ausführung des Cronjobs funktioniert überhaupt nicht.

    magst du mir bitte einmal einen ACP-Zugang und einen FTP-Zugang zukommen lassen (Konversation, E-Mail an duesterhus@woltlab.com oder Ticket)? Ich werde in dem Event-Listener ein wenig Debug-Code einfügen und schauen, woran es liegt.

    • Official Post

    Hallo,

    Und $userIDs ist garantiert nicht leer?

    genau das ist das Problem.


    @ARC Die Zugangsdaten können invalidiert werden. Die Datei auf dem Server habe ich mit dem unten genannten Patch gepatcht, ansonsten wurden keinerlei Änderungen an der Installation vorgenommen. Des weiteren ist mir ist beim Testen aufgefallen, dass einige Cronjobs deaktiviert sind, wenn dies nicht gewollt ist, dann empfehle ich die Cronjobs wieder zu aktivieren.
    @Christopher Walz

    Diff
    --- DonationUserListener.class.php	2016-06-02 19:01:56.615080903 +0200
    +++ DonationUserListener.class.php.new	2016-06-02 19:02:34.956003516 +0200
    @@ -20,6 +20,7 @@
     			if ($eventName == 'initializeAction') {
     				$parameters = $eventObj->getParameters();
     				$userIDs = $eventObj->getObjectIDs();
    +				if (empty($userIDs)) return;
     				$conditions = new PreparedStatementConditionBuilder();
     			    $conditions->add("userID IN (?)", array($userIDs));
  • auch ich habe das selbe Problem : Could not execute prepared statement: SQLSTATE[HY000]: General error: 2031 seit heute nachdem ich Automatische Benutzergruppenzuordnung installiert habe.

  • Hallo,

    genau das ist das Problem.


    @ARC Die Zugangsdaten können invalidiert werden. Die Datei auf dem Server habe ich mit dem unten genannten Patch gepatcht, ansonsten wurden keinerlei Änderungen an der Installation vorgenommen. Des weiteren ist mir ist beim Testen aufgefallen, dass einige Cronjobs deaktiviert sind, wenn dies nicht gewollt ist, dann empfehle ich die Cronjobs wieder zu aktivieren.
    @Christopher Walz

    Diff
    --- DonationUserListener.class.php	2016-06-02 19:01:56.615080903 +0200
    +++ DonationUserListener.class.php.new	2016-06-02 19:02:34.956003516 +0200
    @@ -20,6 +20,7 @@
     			if ($eventName == 'initializeAction') {
     				$parameters = $eventObj->getParameters();
     				$userIDs = $eventObj->getObjectIDs();
    +				if (empty($userIDs)) return;
     				$conditions = new PreparedStatementConditionBuilder();
     			    $conditions->add("userID IN (?)", array($userIDs));

    Welche Datei bitte ?

Participate now!

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