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
string db2_lob_read
( resource
$stmt
, int $colnum
, int $length
)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