db2_lob_read
(PECL ibm_db2 >= 1.6.0)
db2_lob_read — LOB ファイルから、ユーザーが定義したサイズの内容を取得する
説明
db2_lob_read
( resource $stmt
, int $colnum
, int $length
) : string
db2_lob_read() により、 結果セットの指定したカラムから、指定したサイズの LOB データを取得します。
パラメータ
stmt
- LOB データを含む有効な
stmt
リソース。 colnum
stmt
リソースの結果セット内の、有効なカラム番号。length
stmt
リソースから取得する LOB データのサイズ。
返り値
指定したサイズのデータを返します。データが取得できない場合は
false
を返します。
例
例1 さまざまな型のデータの取得
<?php/* データベースへの接続パラメータ */$db = 'SAMPLE';$username = 'db2inst1';$password = 'ibmdb2';/* 接続リソースの取得 */$conn = db2_connect($db,$username,$password);if ($conn) { $drop = 'DROP TABLE clob_stream'; $result = @db2_exec( $conn, $drop ); $create = 'CREATE TABLE clob_stream (id INTEGER, my_clob CLOB)'; $result = db2_exec( $conn, $create ); $variable = ""; $stmt = db2_prepare($conn, "INSERT INTO clob_stream (id,my_clob) VALUES (1, ?)"); $variable = "THIS IS A CLOB TEST. THIS IS A CLOB TEST."; db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN); db2_execute($stmt); $sql = "SELECT id,my_clob FROM clob_stream"; $result = db2_prepare($conn, $sql); db2_execute($result); db2_fetch_row($result); $i = 0; /* LOB データの読み込み */ while ($data = db2_lob_read($result, 2, 6)) { echo "Loop $i: $data\n"; $i = $i + 1; } $drop = 'DROP TABLE blob_stream'; $result = @db2_exec( $conn, $drop ); $create = 'CREATE TABLE blob_stream (id INTEGER, my_blob CLOB)'; $result = db2_exec( $conn, $create ); $variable = ""; $stmt = db2_prepare($conn, "INSERT INTO blob_stream (id,my_blob) VALUES (1, ?)"); $variable = "THIS IS A BLOB TEST. THIS IS A BLOB TEST."; db2_bind_param($stmt, 1, "variable", DB2_PARAM_IN); db2_execute($stmt); $sql = "SELECT id,my_blob FROM blob_stream"; $result = db2_prepare($conn, $sql); db2_execute($result); db2_fetch_row($result); $i = 0; /* LOB データの読み込み */ while ($data = db2_lob_read($result, 2, 6)) { echo "Loop $i: $data\n"; $i = $i + 1; }} else { echo '接続に失敗しました: ' . db2_conn_errormsg();}?>
上の例の出力は以下となります。
Loop 0: THIS I Loop 1: S A CL Loop 2: OB TES Loop 3: T. THI Loop 4: S IS A Loop 5: CLOB Loop 6: TEST. Loop 0: THIS I Loop 1: S A BL Loop 2: OB TES Loop 3: T. THI Loop 4: S IS A Loop 5: BLOB Loop 6: TEST.
参考
- db2_bind_param() - PHP 変数を SQL 文のパラメータにバインドする
- db2_exec() - SQL 文を直接実行する
- db2_execute() - プリペアドステートメントを実行する
- db2_fetch_row() - 結果セットポインタを次の行あるいは要求された行に設定する
- db2_prepare() - 実行する SQL 文を準備する
- db2_result() - 結果セットの行からひとつのカラムを返す