# odbc_execute

(PHP 4, PHP 5, PHP 7, PHP 8)

odbc_execute — Führt einen vorbereiteten SQL-Befehl aus

### Beschreibung

odbc_execute(Odbc\Result `$statement`, array `$params` = []): bool

Führt eine mit odbc_prepare() vorbereitete Anweisung aus.

### Parameter-Liste

`statement`

  Das ODBC-Ergebnis-Objekt 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 `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.

  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.

### Rückgabewerte

Gibt bei Erfolg `true` zurück. Bei einem Fehler wird `false` zurückgegeben.

### Changelog

Version | Beschreibung
--- | ---
8.4.0 | Diese Funktion gibt nun eine Instanz von Odbc\Result zurück; vorher wurde eine Ressource zurückgegeben.
8.0.0 | Der nicht verwendete Parameter `flags` wurde entfernt.

### 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).

### Siehe auch

- odbc_prepare() - Bereitet eine Anweisung für die Ausführung vor

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open