ich habe ein Script, in dem ich (mittels Soucerer) ein Insert in eine Datenbanktabelle durchführe. Unter Version 3 funktioniert das, jetzt mit Joomla 4.3 nicht mehr.
Ich habe alle im Netz aufgefundenen Möglichkeiten ausprobiert (die Dokumentation dazu für Joomla 4 ist nicht aktuell).
Folgende Versuche habe ich ausprobiert:
Code: Select all
$dbo = JFactory::getDbo();
$query = $dbo->getQuery(true);
Code: Select all
use Joomla\CMS\Factory;
$dbo = Factory::getDbo();
$query = $dbo->getQuery(true);
Code: Select all
use Joomla\Database\DatabaseInterface;
use Joomla\CMS\Factory;
$dbo = Factory::getContainer()->get(DatabaseInterface::class);
$query = $dbo->getQuery(true);
Das SQL-Statement lasse ich mit query -> dump anzeigen und ist richtig.
Hier der Code für das INSERT:
Code: Select all
$stat=$_POST['Status'];
$affSys=$_POST['AffectedSystem'];
$msg=$_POST['Message'];
$columns = array( // set the columns of the database that will be inserted
'Status',
'AffectedSystem',
'Message',
'Reporter',
'RepTBO',
'DateReported',
'ExpDate');
$values = array( // set the new values according to the columns of the database to be inserted
$db->quote($stat),
$db->quote($affSys),
$db->quote($msg),
$db->quote($user->username),
$db->quote($user->behoerde),
$db->quote($DateReported),
$db->quote($ExpDate));
$query = $dbo->getQuery(true) // initiate new query
->insert($dbo->quoteName($StatusTbl))
->columns($dbo->quoteName($columns))
->values(implode(',', $values));
$dbo->setQuery($query);
$dbo->execute();