PHP Conference Japan 2024

db2_lob_read

(PECL ibm_db2 >= 1.6.0)

db2_lob_read 每次呼叫時取得使用者定義大小的 LOB 檔案

說明

db2_lob_read(資源 $stmt, int $colnum, int $length): 字串|false

使用 db2_lob_read() 迭代結果集的指定欄位,並擷取使用者定義大小的 LOB 資料。

參數

stmt

一個有效的 stmt 資源,其中包含 LOB 資料。

colnum

stmt 資源的結果集中,一個有效的欄位編號。

length

要從 stmt 資源擷取的 LOB 資料大小。

返回值

返回使用者指定的資料量。如果無法擷取資料,則返回 false

範例

範例 #1 迭代不同類型的資料

<?php

/* Database Connection Parameters */
$db = 'SAMPLE';
$username = 'db2inst1';
$password = 'ibmdb2';

/* Obtain Connection Resource */
$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;
/* Read LOB data */
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;
/* Read LOB data */
while ($data = db2_lob_read($result, 2, 6)) {
echo
"Loop $i: $data\n";
$i = $i + 1;
}
} else {
echo
'no connection: ' . 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.

參見

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top