-
Database INSERT INTO
Hallo in die Runde, seit neustem funktioniert mein Tabelleneintrag nicht mehr. Und ich finde einfach den Fehler nicht.
Vielleicht sieht jemand von euch was da falsch läuft:
Code:
// Allfällige An-/Abmeldung abarbeiten
if($_GET['lit_do'] == 'meldung' && $_GET['lit_type'] == 'eventAnmeldung' || $_GET['lit_type'] == 'eventAbmeldung' && $_GET['lit_save'] != 'ok')
{
// Neuer Eintrag
if($_GET['lit_type'] == 'eventAnmeldung')
{
// Anmeldung
$insertObject = $this->Database->prepare('INSERT INTO tl_eventplaner (epTitle, epStatus, epFirstname, epLastname, tstamp) VALUES (?, "Angemeldet", ?, ?, UNIX_TIMESTAMP(now()))')->execute($eventlist['epTitle'], $thisFrontEndUserFirstname, $thisFrontEndUserLastname);
$insertID = $insertObject->insertId;
}
else
{
// Abmeldung
$insertObject = $this->Database->prepare('INSERT INTO tl_eventplaner (epTitle, epStatus, epFirstname, epLastname, tstamp) VALUES (?, "Abgemeldet", ?, ?, UNIX_TIMESTAMP(now()))')->execute($eventlist['epTitle'], $thisFrontEndUserFirstname, $thisFrontEndUserLastname);
$insertID = $insertObject->insertId;
}
// Redirect
header('Location: ' . $currentPageURL . '?lit_save=ok');
exit();
}
Ausgeführt wird das mit einem An- und Abmeldebutton im Template:
Code:
<p>
<a href="<?php echo($currentPageURL) . '?lit_do=meldung&lit_type=eventAnmeldung&lit_save=ok' ?>" class="anmelden submit">Anmelden</a>
<br>
<a href="<?php echo($currentPageURL) . '?lit_do=meldung&lit_type=eventAbmeldung&lit_save=ok' ?>" class="abmelden submit">Abmelden</a>
</p>
Und wie gesagt, bis vor kurzem lief es noch.
-
Gibt es eine Fehlermeldung aus den logs dazu?
-
Nein leider gar nix. Wenn ich auf den Button klicke kommt normal der Redirect - wie früher auch - aber Tabelleneintrag gibts keinen.
Keine Systemmeldung, keine Fehlermeldung im Protokoll
Hoppla, da ist doch eine Fehlermeldung:
request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\FatalErrorExcept ion: "Compile Error: Cannot use try without catch or finally" at /(templatename).html5 line 53 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalErrorE xception(code: 0): Compile Error: Cannot use try without catch or finally at /templatename)"} []
Cannot use try wäre also kann nicht Insert into machen.
Was ist gemeint mit without catch or finally?
-
Klingt so, als gäbe es im Code einen try{}-Block ohne dazugehörigen catch-Block. Siehe:
https://www.php.net/manual/de/language.exceptions.php
-
ok, ich seh schon ... ich muss da mal nachforschen wie man dies unter Contao 4+ korrekt macht
-
Leider schaff ich es nicht...
Hab mich durch etliche Anleitungen durchgekämpft, aber leider ohne Erfolg. Ich bekomm den Eintrag nicht hin.
Letzte Versuch war so:
Code:
$stmt = $db->insert('tl_test', array('testStatus' => 'Abgemeldet'));
Passiert gar nix, auch keine Fehlermeldung im Log.
Kann mir jemand auf die Sprünge helfen bitte.