>(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SQLite3::openBlob — Ouvre un flux de ressource pour lire un BLOB
Description
public
SQLite3::openBlob(
string
$table,
string
$column,
int
$rowid,
string
$database = "main",
int
$flags =
SQLITE3_OPEN_READONLY): resource|false
SELECT column FROM database.table WHERE rowid = rowid
Note:
Il n'est pas possible de changer la taille d'un BLOB en écrivant vers le flux.
À la place, une déclaration UPDATE doit être exécuté, en utilisant, éventuellement
la fonction zeroblob() de SQLite pour définir la taille du BLOB désiré.
Liste de paramètres
-
table
-
Le nom de la table.
-
column
-
Le nom de la colonne.
-
rowid
-
La ligne ID.
-
database
-
Le nom symbolic de la base de données.
-
flags
-
Soit SQLITE3_OPEN_READONLY ou
SQLITE3_OPEN_READWRITE pour ouvrir le flux
en lecture seule, ou en lecture et écriture, respectivement.
Valeurs de retour
Retourne une ressource de flux, ou false si une erreur survient.
Historique
Exemples
Exemple #1 Exemple avec sqlite3::openBlob()
<?php
$conn = new SQLite3(':memory:');
$conn->exec('CREATE TABLE test (text text)');
$conn->exec("INSERT INTO test VALUES ('Lorem ipsum')");
$stream = $conn->openBlob('test', 'text', 1);
echo stream_get_contents($stream);
fclose($stream); // mandatory, otherwise the next line would fail
$conn->close();
?>
L'exemple ci-dessus va afficher :
Lorem ipsum
Exemple #2 Écrire progressivement un BLOB
<?php
$conn = new SQLite3(':memory:');
$conn->exec('CREATE TABLE test (text text)');
$conn->exec("INSERT INTO test VALUES (zeroblob(36))");
$stream = $conn->openBlob('test', 'text', 1, 'main', SQLITE3_OPEN_READWRITE);
for ($i = 0; $i < 3; $i++) {
fwrite($stream, "Lorem ipsum\n");
}
fclose($stream);
echo $conn->querySingle("SELECT text FROM test");
$conn->close();
?>
L'exemple ci-dessus va afficher :
Lorem ipsum
Lorem ipsum
Lorem ipsum