note 98683 deleted from pdo.lobs by danbrown
| From: | danbrown@php.net | Date: | Wed, 30 Jun 2010 13:35:01 +0000 |
| Subject: | note 98683 deleted from pdo.lobs by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-170601@lists.php.net to get a copy of this message | ||
Note Submitter: fabrice lorente
----
insert the blob :
<?php
//connection a la base de donnee en utilisant le module PDO faisant partie de php
$db = new PDO('oci:dbname=...','user', 'pass');
//preparation de la requete
$stmt = $db->prepare("insert into TABLE1 (id, blob) " .
"VALUES (sequence1.nextval, EMPTY_BLOB()) RETURNING blob INTO :blob");
//association de la variable parametree et de la variable php contenant le fichier a inserer
$stmt->bindParam(':blob', $fp, PDO::PARAM_LOB);
//passage du fichier envoye par le client a la variable php
$fp = fopen($_FILES['nom']['tmp_name'], 'rb');
//debut de la transaction (obligatoire)
$db->beginTransaction();
//execution de la requete
$stmt->execute();
//commit obligatoire car le beginTransaction empeche l autocommit
$db->commit();
?>
display the blob :
<?php
$db = new PDO('oci:dbname=...,'user', 'pass');
$sql = "select blob from table1 where id=3";
$stmt = $db->prepare($sql);
$stmt->execute();
$stmt->bindColumn(1, $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);
//le header indique au navigateur le type de binaire envoye (type mime)
header("Content-Type: image/jpeg");
fpassthru($lob);