# odbc_binmode

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

odbc_binmode — Modifie la gestion des colonnes de données binaires

### Description

odbc_binmode(Odbc\Result `$statement`, int `$mode`): true

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 :

Conversion des `LONGVARBINARY`
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é).

### Liste de paramètres

`statement`

  L’objet de résultat ODBC.

`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().

### Valeurs de retour

Retourne toujours `true`.

### Historique

Version | Description
--- | ---
8.4.0 | `statement` attend désormais une instance de Odbc\Result; auparavant, un resource était attendu.