Ӧ�ó�����ijһʱ�̣�������Ҫ�����ݿ��д洢"��"���ݡ�"��"ͨ����ζ��"��Լ 4kb ������"������ijЩ���ݿ������ݴﵽ"��"֮ǰ�������ɵش����� 32kb �����ݡ���������Ͽ������ı�������ơ��� PDOStatement::bindParam() �� PDOStatement::bindColumn()) ������ʹ�� PDO::PARAM_LOB
����������� PDO ʹ�ô��������͡�PDO::PARAM_LOB
���� PDO ��Ϊ����ӳ�����ݣ��Ա���ʹ�� PHP Streams API ��������
Example #1 �����ݿ�����ʾһ��ͼƬ
�������Ӱ�һ�� LOB �� $lob ������Ȼ���� fpassthru() ���䷢�͵����������Ϊ LOB ����һ�������������� fgets()��fread() �Լ� stream_get_contents() �����ĺ������������������档
<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("select contenttype, imagedata from images where id=?");
$stmt->execute(array($_GET['id']));
$stmt->bindColumn(1, $type, PDO::PARAM_STR, 256);
$stmt->bindColumn(2, $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);
header("Content-Type: $type");
fpassthru($lob);
?>
Example #2 ����һ��ͼƬ�����ݿ�
�������Ӵ�һ���ļ������ļ�������� PDO ����Ϊһ�� LOB ���롣PDO�����ܵ������ݿ�������Ч�ķ�ʽ��ȡ�ļ����ݡ�
<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) values (?, ?, ?)");
$id = get_new_id(); // ����ij������������һ���� ID
// ���账��һ���ļ��ϴ�
// ������ PHP �ĵ����ҵ��������Ϣ
$fp = fopen($_FILES['file']['tmp_name'], 'rb');
$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);
$db->beginTransaction();
$stmt->execute();
$db->commit();
?>
Example #3 ����һ��ͼƬ�����ݿ⣺Oracle
���ڴ��ļ�����һ�� lob��Oracle���в�ͬ������������֮����в��룬����ִ�в�ѯʱ�����½����� LOB ����0���ȱ���ʽ�ύ��
<?php
$db = new PDO('oci:', 'scott', 'tiger');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) " .
"VALUES (?, ?, EMPTY_BLOB()) RETURNING imagedata INTO ?");
$id = get_new_id(); // ����ij������������һ���� ID
// ���账��һ���ļ��ϴ�
// ������ PHP �ĵ����ҵ��������Ϣ
$fp = fopen($_FILES['file']['tmp_name'], 'rb');
$stmt->bindParam(1, $id);
$stmt->bindParam(2, $_FILES['file']['type']);
$stmt->bindParam(3, $fp, PDO::PARAM_LOB);
$stmt->beginTransaction();
$stmt->execute();
$stmt->commit();
?>