Verwenden Sie für das Ausführen von SQL-Statements zur Manipulation von Daten (UPDATE-, INSERT- oder DELETE-Befehle) die Funktion preparedExecute, welche Sie auf dem zuvor instanziierten Objekt $jobDB ausführen können.
Parameter |
Typ |
Beschreibung |
---|---|---|
$sql |
string |
SQL-Statement (UPDATE-, INSERT- oder DELETE-Befehle) |
$parameterValues |
array |
Darin sind die Werte hinterlegt, die im SQL-Statement aufgelöst werden sollen. |
$parameterTypes (optional) |
array |
Darin sind die Datentypen zu den Werten hinterlegt.
Es stehen folgende Datentypen zur Auswahl: •text (ConnectionInterface::TYPE_TEXT) •integer (ConnectionInterface::TYPE_INTEGER) •timestamp (ConnectionInterface::TYPE_DATETIME) •decimal (ConnectionInterface::TYPE_DECIMAL) •clob (ConnectionInterface::TYPE_CLOB)
Bitte beachten Sie: Die Reihenfolge der Werte ($parameterValues) muss mit der Reihenfolge der Datentypen ($parameterTypes) übereinstimmen, andernfalls kann es zu falschen oder fehlerhaften SQLs führen. Wir empfehlen die Datentypen anzugeben, auch wenn der Parameter optional ist. |
Im Fehlerfall wird eine JobRouterException geworfen.
Beispiel:
…
$jobDB = $this->getJobDB();
$sql = 'UPDATE JRUSERS SET blocked = :blocked WHERE username = :username';
$parameters = [
'blocked' => 0,
'username' => 'some_username_here'
];
$types = [
JobRouter\Common\Database\ConnectionInterface::TYPE_INTEGER,
JobRouter\Common\Database\ConnectionInterface::TYPE_TEXT,
];
$jobDB->preparedExecute($sql, $parameters, $types);
…