SQL Abfragen nicht mehr kompatibel ?
Hallo,
irgendwie laufen meine SQL Queries nicht mehr im Contao 4 - nach der Umstellung von Contao 3.
Die Select Statements sind ok, aber die Update Query läuft nicht mehr. Bringt auch keine Exception, schreibt nur nichts in die DB. Kopiere ich den gleichen SQL String in den MySql Admin, wird der Update richtig durch geführt.
Das bisher unter Contao-3 funktionierende Statement:
$sql = "UPDATE reisen ";
$sql .= "SET p_firstname='$pfname',p_lastname='$plname',k_name= '$kname',kf_name='$kfname',m_system='$msys',";
$sql .= "periode='$periode',modUser='$uname',tmstamp='$tms tamp' ";
$sql .= "WHERE id='$id'";
$dataBase->prepare($sql)->execute();
Danach fand ich nach ein bisschen googeln die Variante:
$sql = "UPDATE reisen ";
$sql .= "SET p_firstname=?, p_lastname=?, k_name=?, kf_name=?, m_system=? WHERE id=?";
$dataBase->prepare($sql)->execute($pfname, $plname, $kname, $kfname, 'N', $id);
Das bringt dann eine Exception mit "too few parameters to build the query.
Ebenso wie diese Variante:
$set = array('p_firstname' => $pfname, 'k_name' => $kname, .....);
$this->Database->prepare("UPDATE reisen %s WHERE id=?")->set($set)->execute($id);
Möglicherweise hat es mit dem tschechischen Zeichen in den Daten zu tun ?
Zusätzlich habe ich noch das Problem, dass folgender Command nicht mehr funktioniert:
// angemeldeter User
// $this->import("FrontendUser","User");