odbc_binmode
(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_binmode — Behandlung von Binärdaten
Beschreibung
$statement
, int $mode
): bool
Steuert die Behandlung binärer Spaltendaten. Betroffene ODBC SQL Typen sind
BINARY
, VARBINARY
und
LONGVARBINARY
.
Der Standardmodus kann mit der php.ini-Anweisung uodbc.defaultbinmode festgelegt
werden.
Werden SQL-Binärdaten in C-Zeichendaten konvertiert
(ODBC_BINMODE_CONVERT
), wird jedes Byte (8 Bits) der
ursprünglichen Daten zu zwei ASCII-Zeichen, die der hexadezimalen
Darstellung des Wertes entsprechen. Der Binärwert 00000001 wird zum
Beispiel zu "01"
gewandelt, der Binärwert 11111111 zu
"FF"
.
Während die Behandlung von BINARY
- und
VARBINARY
-Spalten nur von binmode abhängt, hängt die
Behandlung von LONGVARBINARY
-Spalten auch von
longreadlen ab:
binmode | longreadlen | Resultat |
---|---|---|
ODBC_BINMODE_PASSTHRU |
0 | Direkte Ausgabe |
ODBC_BINMODE_RETURN |
0 | Direkte Ausgabe |
ODBC_BINMODE_CONVERT |
0 | Direkte Ausgabe |
ODBC_BINMODE_PASSTHRU |
>0 | Direkte Ausgabe |
ODBC_BINMODE_RETURN |
>0 | Direkte Ausgabe |
ODBC_BINMODE_CONVERT |
>0 | Rückgabe als CHAR-Werte |
Wenn odbc_fetch_into() genutzt wird, wird bei direkter Ausgabe ein leerer String als Spaltenwert zurückgeliefert. Wenn odbc__result() genutzt wird, werden die Daten bei direkter Ausgabe direkt an den Client gesendet, d.h. ausgegeben.
Parameter-Liste
-
statement
-
Die Ergebniskennung.
Wenn
statement
gleich0
ist, wird die Einstellung als Standardwert für die neue Ergebnisse verwendet. -
mode
-
Mögliche Werte für
mode
sind:-
ODBC_BINMODE_PASSTHRU
: schleift BINÄRE Daten durch -
ODBC_BINMODE_RETURN
: liefert die Binärdaten unverändert zurück -
ODBC_BINMODE_CONVERT
: konvertiert die Binärdaten zu Zeichen und liefert sie zurück
Hinweis: Die Behandlung von binary long Spalten wird ebenfalls durch odbc_longreadlen() beeinflusst.
-
Rückgabewerte
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben.