Verwenden Sie für das Auslesen von Daten die Methode preparedSelect, welche Sie auf dem zuvor instanziierten Objekt $jobDB ausführen können.
Parameter |
Typ |
Beschreibung |
---|---|---|
$sql |
string |
SQL-Statement (SELECT-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. |
Als Rückgabewert erhalten Sie eine Ergebniskennung, die Sie zur Weiterverarbeitung der Daten verwenden können. Sofern im Prepared Statement keine Werte verwendet werden, wird im Falle eines Fehlers false zurückgegeben, andernfalls wird eine JobRouterException geworfen.
Beispiel:
…
$jobDB = $this->getJobDB();
$sql = 'SELECT username FROM JRUSERS WHERE username = :username AND blocked = :blocked';
$parameters = [
'username' => 'some_username_here',
'blocked' => 0
];
$types = [
JobRouter\Common\Database\ConnectionInterface::TYPE_TEXT,
JobRouter\Common\Database\ConnectionInterface::TYPE_INTEGER,
];
$result = $jobDB->preparedSelect($sql, $parameters, $types);
while($row = $jobDB->fetchRow($result)) {
// handle row
}
…