(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
offsetsous la forme d'une chaîne de caractères.
lob_identifierUn identifiant LOB, récupéré depuis la fonction cubrid_lob2_new() ou depuis le jeu de résultats.
offsetNombre d'unités de déplacement du curseur.
originCe 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);
?>