db2_lob_read

(PECL ibm_db2 >= 1.6.0)

db2_lob_read Gets a user defined size of LOB files with each invocation

Beschreibung

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

Use db2_lob_read() to iterate through a specified column of a result set and retrieve a user defined size of LOB data.

Parameter-Liste

stmt

A valid stmt resource containing LOB data.

colnum

A valid column number in the result set of the stmt resource.

length

The size of the LOB data to be retrieved from the stmt resource.

Rückgabewerte

Returns the amount of data the user specifies. Returns FALSE if the data cannot be retrieved.

Beispiele

Beispiel #1 Iterating through different types of data

<?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($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;
    
/* Read LOB data */
    
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;
    
/* Read LOB data */
    
while ($data db2_lob_read($result26)) {
        echo 
"Loop $i$data\n";
        
$i $i 1;
    }
} else {
    echo 
'no connection: ' db2_conn_errormsg();
}

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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.

Siehe auch