PHP Conference Nagoya 2025

db2_lob_read

(PECL ibm_db2 >= 1.6.0)

db2_lob_read Obtener un segmento, de tamaño definido por el usuario, de un archivo LOB

Descripción

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

db2_lob_read() se usa para iterar a través de una columna específica dentro de un resultado y extraer un segmento de datos LOB de tamaño definido por el usuario.

Parámetros

stmt

Un recurso stmt válido que contenga datos LOB.

colnum

Un número de columna válido en el resultado del recurso stmt.

length

El tamaño del segmento de datos LOB que se va a extraer del recurso stmt.

Valores devueltos

Devuelve la cantidad de datos que el usuario especifica. Devuelve false si los datos no pueden ser extraidos.

Ejemplos

Ejemplo #1 Iterando a través de diferentes tipos de datos

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

?>

El resultado del ejemplo sería:

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.

Ver también

  • db2_bind_param() - Vincula una variable PHP a un parámetro de una sentencia SQL
  • db2_exec() - Ejecutar directamente una sentencia SQL
  • db2_execute() - Ejecutar una sentencia SQL preparada
  • db2_fetch_row() - Establecer el apuntador de los resultados hacia la siguiente fila o a la fila solicitada
  • db2_prepare() - Prepara un comando SQL para su ejecución
  • db2_result() - Devolver una columna específica del resultado

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top