IBM DB2 関数
PHP Manual

db2_lob_read

(PECL ibm_db2:1.6.0-1.6.2)

db2_lob_read LOB ファイルから、ユーザが定義したサイズの内容を取得する

説明

string db2_lob_read ( resource $stmt , int $colnum , int $length )

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($stmt1"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($result26)) {
        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($stmt1"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($result26)) {
        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.

参考


IBM DB2 関数
PHP Manual