odbc_binmode

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

odbc_binmodeバイナリカラムデータを処理する

説明

odbc_binmode(resource $statement, int $mode): bool

バイナリカラムデータを処理する方法を制御します。 (関係するODBC SQL型: BINARY, VARBINARY, LONGVARBINARY)。 デフォルトの処理モードは、php.iniuodbc.defaultbinmode 経由で設定できます。

バイナリ SQL データが文字データに変換される時 (ODBC_BINMODE_CONVERT)、ソースデータの 各バイト (8 ビット) は、2 つのアスキー文字で表現されます。 これらの文字は、16 進表現で数値をアスキー文字で表現したものです。 例えば、2 進数 00000001"01" に変換され、 11111111"FF" に変換されます。

BINARYVARBINARY 型のカラムを処理する方法は binmode によって決まります。LONGVARBINARY 型のカラムを処理する方法は、 longreadlen にも依存します:

LONGVARBINARY 処理
binmode longreadlen 結果
ODBC_BINMODE_PASSTHRU >0 通過
ODBC_BINMODE_RETURN >0 通過
ODBC_BINMODE_CONVERT >0 通過
ODBC_BINMODE_PASSTHRU 0 通過
ODBC_BINMODE_RETURN >0 そのまま返す
ODBC_BINMODE_CONVERT >0 char として返す

odbc_fetch_into() を使用した場合、 「通過」は空文字列が対応するカラムに返されることを意味します。 odbc_result() を使用した場合、 「通過」はデータがクライアントに直接送信されることを意味します(つまり、表示されます)。

パラメータ

statement

結果 ID。

statement0 を指定した場合、 ここで設定した値は、新規の結果に関するデフォルト値として用いられます。

mode

mode には、以下の値が指定できます。

  • ODBC_BINMODE_PASSTHRU: BINARY データとして通過
  • ODBC_BINMODE_RETURN: そのまま返す
  • ODBC_BINMODE_CONVERT: char に変換し返す

注意: LONGVARBINARY 型のカラムを処理する方法は odbc_longreadlen() によっても影響を受けます。

戻り値

成功した場合に true を、失敗した場合に false を返します。

関連キーワード:  処理, バイナリカラムデータ, 通過, binmode, データ, LONGVARBINARY, カラム, 変換, 文字, 方法