(PECL CUBRID >= 8.4.1)
cubrid_lob2_seek64 — Déplace le curseur d'un objet LOB
$lob_identifier
, string $offset
, int $origin
= CUBRID_CURSOR_CURRENT): bool
La fonction cubrid_lob2_seek64() est utilisée
pour déplacer la position du curseur dans un objet LOB d'une valeur
fournie par le paramètre offset
, dans la direction
fournie par le paramètre origin
.
Si la position offset
est plus grande que la capacité
de stockage d'un entier, vous pouvez utiliser cette fonction.
Pour définir le paramètre origin
, vous pouvez
utiliser la constante CUBRID_CURSOR_FIRST
pour définir la position
du curseur à laquelle on ajoute offset
unités
depuis le début. Dans ce cas, offset
doit être une valeur
positive.
Si vous utilisez CUBRID_CURSOR_CURRENT
pour le paramètre origin
,
vous pouvez vous déplacer vers l'arrière, comme vers l'avant. Et le paramètre
offset
pourra être positif ou négatif.
Si vous utilisez la constante CUBRID_CURSOR_LAST
pour le paramètre
origin
, vous pouvez vous déplacer en arrière de
offset
unités depuis la fin de l'objet LOB et
et le paramètre offset
ne pourra être que positif.
Note:
Si vous utilisez cette fonction pour déplacer la position du curseur d'un objet LOB, vous devriez passer le paramètre
offset
sous la forme d'une chaîne de caractères.
lob_identifier
Un identifiant LOB, récupéré depuis la fonction cubrid_lob2_new() ou depuis le jeu de résultats.
offset
Nombre d'unités de déplacement du curseur.
origin
Ce paramètre peut prendre les valeurs suivantes :
CUBRID_CURSOR_FIRST : déplace le curseur vers l'avant en partant du début.
CUBRID_CURSOR_CURRENT : déplace le curseur vers l'arrière et vers l'avant depuis la position courante.
CUBRID_CURSOR_LAST : déplace le curseur vers l'arrière depuis la fin de l'objet LOB.
Exemple #1 Exemple avec cubrid_lob2_seek64()
<?php
<?php
// test_lob (id INT, contents CLOB)
// La longueur des données de doc_1.txt doit être supérieure à 20101029056306120215.
$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");
cubrid_execute($conn,"DROP TABLE if exists test_lob");
cubrid_execute($conn,"CREATE TABLE test_lob (id INT, contents CLOB)");
$req = cubrid_prepare($conn, "INSERT INTO test_lob VALUES (?, ?)");
cubrid_bind($req, 1, 1);
$lob = cubrid_lob2_new($conn, "clob");
cubrid_lob2_import($lob, "doc_1.txt");
cubrid_lob2_bind($req, 2, $lob, 'CLOB'); // or cubrid_lob2_bind($req, 2, $lob);
cubrid_execute($req);
cubrid_lob2_close($lob);
$req = cubrid_execute($conn, "select * from test_lob");
$row = cubrid_fetch_row($req, CUBRID_LOB);
$lob = $row[1];
cubrid_lob2_seek64($lob, "20101029056306120215", CUBRID_CURSOR_FIRST);
$data = cubrid_lob2_read($lob, 20);
echo $data."\n";
cubrid_disconnect($conn);
?>