(PHP 4, PHP 5, PHP 7, PHP 8)
odbc_binmode — Modifie la gestion des colonnes de données binaires
$statement
, int $mode
): bool
odbc_binmode() contrôle la gestion des
colonnes de données binaires. Les types ODBC SQL affectés sont
BINARY
, VARBINARY
et
LONGVARBINARY
.
Le mode par défaut peut être définie en utilisant la directive php.ini
uodbc.defaultbinmode
Lorsqu'une donnée SQL est convertie en caractère C,
(ODBC_BINMODE_CONVERT
)
les 8 bits du caractère source sont représentés
par deux caractères ASCII. Ces caractères sont des
représentations ASCII des nombres au format hexadécimal.
Par exemple, le binaire 00000001
est
converti en "01"
et le binaire 11111111
est converti
en "FF"
.
Alors que la gestion des colonnes BINARY
et
VARBINARY
dépendent uniquement du binmode,
la gestion des colonnes LONGVARBINARY
dépend aussi de longreadlen, comme ceci :
Mode | Longueur | Résultat |
---|---|---|
ODBC_BINMODE_PASSTHRU |
0 | passthru |
ODBC_BINMODE_RETURN |
0 | passthru |
ODBC_BINMODE_CONVERT |
0 | passthru |
ODBC_BINMODE_PASSTHRU |
>0 | passthru |
ODBC_BINMODE_RETURN |
>0 | Tel quel |
ODBC_BINMODE_CONVERT |
>0 | Caractère |
Si odbc_fetch_into() est utilisé, passthru
signifie qu'une chaîne vide sera retournée pour ces colonnes.
Si la fonction odbc_result() est utilisée, passthru
signifie que les données sont envoyés directement au client (i.e. imprimé).
statement
L'identifiant de résultat.
Si statement
vaut 0
, ces
paramètres seront appliqués aux nouveaux résultats.
mode
Valeurs possibles pour le paramètre mode
:
ODBC_BINMODE_PASSTHRU
: retourner les données en binaire
ODBC_BINMODE_RETURN
: retourner sans conversion
ODBC_BINMODE_CONVERT
: convertir en caractère
Note: La gestion des colonnes de type binary long est aussi affectée par la fonction odbc_longreadlen().
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.