Ergebnis 1 bis 11 von 11

Thema: Fatal Error in der Vorschau

  1. #1
    Contao-Nutzer
    Registriert seit
    16.05.2010.
    Beiträge
    212

    Standard Fatal Error in der Vorschau

    Hallo,

    Wenn ich einen Newsletter geschrieben habe und diesen dann ansehe, habe ich unterhalb des Satzes "vom Newsletter abmelden" folgenden Fehler

    Warning: mysqli::real_escape_string() [mysqli.real-escape-string]: Couldn't fetch mysqli in /home/www/gw2/system/drivers/DB_Mysqli.php on line 329

    #0 [internal function]: __error(2, 'mysqli::real_es...', '/home/www/gw2/s...', 329, Array)
    #1 /home/www/gw2/system/drivers/DB_Mysqli.php(329): mysqli->real_escape_string('a:36:{s:7:"refe...')
    #2 /home/www/gw2/system/libraries/Database.php(734): DB_Mysqli_Statement->string_escape('a:36:{s:7:"refe...')
    #3 /home/www/gw2/system/libraries/Database.php(711): Database_Statement->escapeParams(Array)
    #4 /home/www/gw2/system/libraries/Database.php(624): Database_Statement->replaceWildcards(Array)
    #5 /home/www/gw2/system/modules/backend/BackendUser.php(107): Database_Statement->execute('a:36:{s:7:"refe...', '1')
    #6 [internal function]: BackendUser->__destruct()
    #7 {main}


    Warning: mysqli::real_escape_string() [mysqli.real-escape-string]: Couldn't fetch mysqli in /home/www/gw2/system/drivers/DB_Mysqli.php on line 329

    #0 [internal function]: __error(2, 'mysqli::real_es...', '/home/www/gw2/s...', 329, Array)
    #1 /home/www/gw2/system/drivers/DB_Mysqli.php(329): mysqli->real_escape_string('1')
    #2 /home/www/gw2/system/libraries/Database.php(734): DB_Mysqli_Statement->string_escape('1')
    #3 /home/www/gw2/system/libraries/Database.php(711): Database_Statement->escapeParams(Array)
    #4 /home/www/gw2/system/libraries/Database.php(624): Database_Statement->replaceWildcards(Array)
    #5 /home/www/gw2/system/modules/backend/BackendUser.php(107): Database_Statement->execute('a:36:{s:7:"refe...', '1')
    #6 [internal function]: BackendUser->__destruct()
    #7 {main}


    Fatal error: Uncaught exception 'Exception' with message 'Query error: (UPDATE tl_user SET session='' WHERE id='')' in /home/www/gw2/system/libraries/Database.php:686 Stack trace: #0 /home/www/gw2/system/libraries/Database.php(633): Database_Statement->query() #1 /home/www/gw2/system/modules/backend/BackendUser.php(107): Database_Statement->execute('a:36:{s:7:"refe...', '1') #2 [internal function]: BackendUser->__destruct() #3 {main} thrown in /home/www/gw2/system/libraries/Database.php on line 686
    Der Testversand läuft jedoch fehlerfrei. Die Mail wird zugestellt.

    Wo könnte Die Ursache für diese Fehlermeldung leigen und wie kann ich sie beheben?

    Freundliche Grüße

    Jörg

  2. #2
    Contao-Nutzer
    Registriert seit
    16.05.2010.
    Beiträge
    212

    Standard

    Ich möchte noch ergänzende Informationen bezüglich der Erweiterungen einstellen.

    Avisota 1.6.2 stable
    associategroups 1.0.0 stable
    DC_Memory 0.6.0 stable
    3CFramework 0.6.0 stable
    DomainLink 1.3.5 stable
    MetaPalettes 1.3.4 stable
    MultiColumnWizard 3.0.0 rc1

    Ich hoffe, dass wir schnell eine Lösung finde, da ich den Newsletter bald versenden möchte.

  3. #3
    Contao-Urgestein Avatar von tril
    Registriert seit
    07.01.2010.
    Ort
    Bad Marienberg
    Beiträge
    2.939
    User beschenken
    Wunschliste

    Standard

    Du solltest mal versuchen vom MySQLi Treiber auf den normalen MySQL Treiber zu wechseln. Der MySQLi funktioniert in mehreren Fällen leider nicht so gut und produziert Fehler (was aber scheinbar an der Integration in Contao liegt).

  4. #4
    Contao-Nutzer
    Registriert seit
    16.05.2010.
    Beiträge
    212

    Standard

    Hallo Trill

    Du solltest mal versuchen vom MySQLi Treiber auf den normalen MySQL Treiber zu wechseln.
    So etwas habe ich noch nie gemacht. Was ist damit genau gemeint ?

    Freundliche Grüße

    Cristal
    Geändert von Cristal (19.08.2012 um 10:42 Uhr)

  5. #5
    Contao-Urgestein Avatar von tril
    Registriert seit
    07.01.2010.
    Ort
    Bad Marienberg
    Beiträge
    2.939
    User beschenken
    Wunschliste

    Standard

    Doch das hast du sicher schon mal, wenn du Contao installiert hast
    Im InstallTool kannst du auswählen, welcher Datenbanktreiber verwendet werden soll.

    Einfach von MySQLi auf MySQL wechseln.
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: png db.png (22,0 KB, 16x aufgerufen)
    Geändert von tril (19.08.2012 um 11:07 Uhr)

  6. #6
    Contao-Nutzer
    Registriert seit
    16.05.2010.
    Beiträge
    212

    Standard

    Hallo Tril,

    Darf ich das einfach so im laufenden Betrieb verändern?

    Freundliche Grüße

    Cristal

  7. #7
    Contao-Urgestein Avatar von tril
    Registriert seit
    07.01.2010.
    Ort
    Bad Marienberg
    Beiträge
    2.939
    User beschenken
    Wunschliste

    Standard

    Ja darfst du, das ändert nur den Datenbank-Treiber, wie gesagt, der MySQLi läuft sowieso nicht immer fehlerfrei habe ich mittlerweile feststellen müssen. Von daher würde ich dir den Wechsel sogar empfehlen.

  8. #8
    Contao-Nutzer
    Registriert seit
    16.05.2010.
    Beiträge
    212

    Standard

    Ok Ich habe den Datenbanktreiber umgeändert.

    Mein Fehlermeldung hat sich verändert zu

    Fatal error: Uncaught exception 'Exception' with message 'Invalid connection resource' in /home/www/gw2/system/libraries/Database.php:460 Stack trace: #0 /home/www/gw2/system/drivers/DB_Mysql.php(321): Database_Statement->__construct(Resource id #6, false) #1 /home/www/gw2/system/libraries/Database.php(149): DB_Mysql->createStatement(Resource id #6, false) #2 /home/www/gw2/system/modules/backend/BackendUser.php(106): Database->prepare('UPDATE tl_user ...') #3 [internal function]: BackendUser->__destruct() #4 {main} thrown in /home/www/gw2/system/libraries/Database.php on line 460
    Ich glaub ich bin der Ursache näher gekommen.

    Ich habe eine Erweiterung installiert, durch die die Mitglieder angelegt werden. Zu den Mitglieder wird nur der Benutzername und die Mail-Adresse gespeichert.

    Wenn ich diese Erweiterung deaktiviere verschwindet die Fehlermeldung.



    Eine weitere Beobachtung die ich gemacht habe ist folgende:

    Wen man den Newsletter an eine Mitgliedergruppe sende, wird dieser jedoch nur an Mitglieder gesendet die einen Vor- und Nachnamen angegeben haben. Mitglider bei denen der Vor und Nachname fehlt werden nicht in der Versandliste aufgeführt. Gibt es eine Möglichkeit dieses zu umgehen ? Da ich gerne an alle Mitgilder einer Gruppe den Newsletter senden möchte auch wen nur der Benutzername und die Mail Adresse bekannt sind.

    Grüße

    Cristal

  9. #9
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von tril Beitrag anzeigen
    ...der MySQLi läuft sowieso nicht immer fehlerfrei habe ich mittlerweile feststellen müssen. Von daher würde ich dir den Wechsel sogar empfehlen.
    hallo tril,

    gibt es dazu irgendwelche Tickets oder Threads? Ich empfehle den MySQLi nämlich immer explizit.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  10. #10
    Contao-Urgestein Avatar von tril
    Registriert seit
    07.01.2010.
    Ort
    Bad Marienberg
    Beiträge
    2.939
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Cristal Beitrag anzeigen
    Mein Fehlermeldung hat sich verändert zu
    Code:
    Fatal error: Uncaught exception 'Exception' with message 'Invalid connection resource' in /home/www/gw2/system/libraries/Database.php:460 Stack trace: #0 /home/www/gw2/system/drivers/DB_Mysql.php(321): Database_Statement->__construct(Resource id #6, false) #1 /home/www/gw2/system/libraries/Database.php(149): DB_Mysql->createStatement(Resource id #6, false) #2 /home/www/gw2/system/modules/backend/BackendUser.php(106): Database->prepare('UPDATE tl_user ...') #3 [internal function]: BackendUser->__destruct() #4 {main} thrown in /home/www/gw2/system/libraries/Database.php on line 460
    Ich glaub ich bin der Ursache näher gekommen.
    Ich habe eine Erweiterung installiert, durch die die Mitglieder angelegt werden. Zu den Mitglieder wird nur der Benutzername und die Mail-Adresse gespeichert.
    Wenn ich diese Erweiterung deaktiviere verschwindet die Fehlermeldung.
    Das klingt eher nach einer persistenten Ressource, die noch vom MySQLi stammt und nicht mit dem MySQL Treiber kompatibel ist...
    Welche Erweiterung ist das denn die du installiert hast? Ich würde es nochmal testen ob es denn jetzt immer noch diesen Fehler wirft.

    Zitat Zitat von Cristal Beitrag anzeigen
    Wen man den Newsletter an eine Mitgliedergruppe sende, wird dieser jedoch nur an Mitglieder gesendet die einen Vor- und Nachnamen angegeben haben. Mitglider bei denen der Vor und Nachname fehlt werden nicht in der Versandliste aufgeführt. Gibt es eine Möglichkeit dieses zu umgehen ? Da ich gerne an alle Mitgilder einer Gruppe den Newsletter senden möchte auch wen nur der Benutzername und die Mail Adresse bekannt sind.
    Das ist mir unbekannt, dass dort eine Beschränkung ist.
    Das Query hat auch keine entsprechende WHERE Statements, dass dort nur Mitglieder mit Vor- und Nachname verwendet werden sollen.
    https://github.com/InfinitySoft/Avis...sport.php#L353

    Zitat Zitat von Andreas Beitrag anzeigen
    gibt es dazu irgendwelche Tickets oder Threads? Ich empfehle den MySQLi nämlich immer explizit.
    Nein, sind einfach persönliche Erfahrungswerte. Manche Extensions sind so programmiert, dass sie explizit inkompatibel sind (das liegt aber weniger an den Extensions selbst, als mehr an der unzureichenden Datenbank API von Contao).
    Ich habe den auch ne ganze Zeit lang verwendet und musste feststellen, dass sich Contao teilweise fehlerhaft verhält (mit Fehlermeldungen wie oben). Ich bin dem ganzen aus Zeitgründen aber nie nachgegangen.

  11. #11
    Contao-Nutzer
    Registriert seit
    16.05.2010.
    Beiträge
    212

    Standard

    welche Erweiterung ist das denn die du installiert hast? Ich würde es nochmal testen ob es denn jetzt immer noch diesen Fehler wirft.
    Die Erweiterung existiert nicht im ER, es ist ein Einzelstück. Ein erneuter Test hat ergeben, dass es immer noch zur selben Fehlermeldung kommt.

    Das ist mir unbekannt, dass dort eine Beschränkung ist.
    Das Query hat auch keine entsprechende WHERE Statements, dass dort nur Mitglieder mit Vor- und Nachname verwendet werden sollen.
    Das ist sehr seltsam, ich kann ihnen das jedoch gerne auf meiner Website zeigen. Sobald ich den Mitgliedern einen Namen zuteile werden diese für den Newsletter erfasst. Ohne Namen nicht.

    EDIT:// Sie hatten recht, es liegt nicht an den Namen. Mir ist nun völlig unverständlich, an was es liegt. Wen die das Mitglied bearbeite, ohne Veränderung speichere, kommt eine Fehlermeldung, da keine Namen in den dafür vorgesehenen Feldern sind. Aber nach diesem Verfahren wird der User zu den Abbonenten hinzugefügt. Vorher nicht!
    Freundliche Grüße

    Cristal
    Geändert von Cristal (22.08.2012 um 13:46 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •