odbc_execute
(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_execute — Führt einen vorbereiteten SQL-Befehl aus
Beschreibung
$statement
, array $params
= []): boolFührt eine mit odbc_prepare() vorbereitete Anweisung aus.
Parameter-Liste
-
statement
-
Die Ergebniskennung resource von odbc_prepare().
-
params
-
Parameter in
params
werden für Platzhalter in der vorbereiteten Anweisung in der Reihenfolge ihres Vorkommens eingesetzt. Elemente dieses Array werden zu Zeichenketten konvertiert, wenn diese Funktion aufgerufen wird.Jegliche Parameter in
Soll eine Zeichenkette, die tatsächlich mit einfachen Anführungszeichen beginnt und endet übergeben werden, muss ein Leerzeichen oder ein anderes Zeichen, das kein einfaches Anführungszeichen ist, am Anfang oder Ende der Zeichenkette eingefügt werden, was verhindert, dass der Parameter als Dateiname interpretiert wird. Ist dies keine Option, dann muss ein anderer Mechanismus verwendet werden, um die Zeichenkette zu übergeben, wie z.B. die Abfrage direkt per odbc_exec() auszuführen.params
, die mit einfachen Anführungszeichen beginnen und enden, werden als Name einer Datei interpretiert, die gelesen und als Daten für den entsprechenden Platzhalter an den Server gesendet werden.
Rückgabewerte
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben.
Beispiele
Beispiel #1 Beispiel für odbc_execute() und odbc_prepare()
Im folgenden Code ist $success nur dann true
, wenn
alle drei Parameter für myproc Eingabeparameter (IN) sind:
<?php
$a = 1;
$b = 2;
$c = 3;
$stmt = odbc_prepare($conn, 'CALL myproc(?,?,?)');
$success = odbc_execute($stmt, array($a, $b, $c));
?>
Wenn eine gespeicherte Prozedur aufgerufen werden soll, die Ein-Ausgabe- (INOUT) oder Ausgabeparameter (OUT) verwendet, wird als Workaround empfohlen, eine native Extension für die jeweilige Datenbank zu verwenden (beispielsweise oci8 für Oracle).