PHP8 db2_lob_read

2024-04-07 10:23 更新

(PECL ibm_db2 >= 1.6.0)

db2_lob_read — 每次調(diào)用時(shí)獲取用戶(hù)定義的 LOB 文件大小

說(shuō)明

db2_lob_read(resource $stmt, int $colnum, int $length): string|false

使用 db2_lob_read() 循環(huán)訪問(wèn) 結(jié)果集并檢索用戶(hù)定義的 LOB 數(shù)據(jù)大小。

參數(shù) 

stmt

包含 LOB 數(shù)據(jù)的有效資源。stmt

colnum

資源結(jié)果集中的有效列號(hào)。stmt

length

要從資源中檢索的 LOB 數(shù)據(jù)的大小。stmt

返回值 

返回用戶(hù)指定的數(shù)據(jù)量。如果無(wú)法檢索數(shù)據(jù),則返回 false。

示例 

示例 #1 遍歷不同類(lèi)型的數(shù)據(jù)

<?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();
}

?>

以上示例會(huì)輸出:

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.

參見(jiàn) 

  • db2_bind_param() - 將 PHP 變量綁定到 SQL 語(yǔ)句參數(shù)
  • db2_exec() - 直接執(zhí)行 SQL 語(yǔ)句
  • db2_execute() - 執(zhí)行準(zhǔn)備好的 SQL 語(yǔ)句
  • db2_fetch_row() - 將結(jié)果集指針設(shè)置為下一行或請(qǐng)求的行
  • db2_prepare() - 準(zhǔn)備要執(zhí)行的 SQL 語(yǔ)句
  • db2_result() - 從結(jié)果集中的一行返回一列


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)