| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
ラージオブジェクト (LOB)
アプリケーション内で、データベースに「大きな」データを格納する
必要を感じることがあるかもしれません。「大きな」とは、一般的には
「4kb 程度以上」を指しますが、データベースによっては 32kb くらいまでは
「大きい」と判断されずにすむこともあります。ラージオブジェクトは
テキストあるいはバイナリの両方の形式をとり得ます。
PDO でこのラージデータ型を扱うには、
PDOStatement::bindParam() や
PDOStatement::bindColumn() のコール時に
型コードとして
例1 データベース内の画像を表示する この例では $lob という名前の変数に LOB をバインドし、 fpassthru() を使用してそれをブラウザに送信します LOB はストリームで表されるので、 fgets()、fread() および stream_get_contents() といった関数を 使用することができます。
<?php
例2 画像をデータベースに挿入する この例では、ファイルをオープンしてそのハンドルを PDO に渡し、 LOB としてデータベースに挿入します。PDO は、データベースに応じた もっとも適切な方法でデータを取得します。
<?php
例3 画像をデータベースに挿入する: Oracle Oracle は、ファイルから LOB を挿入する方法が他とは少し違います。 また、必ずトランザクション内で挿入しなければなりません。 それ以外の場合、新しく挿入された LOB は長さゼロとなり、クエリの 実行時に暗黙的にコミットされます。
<?php |
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「ラージオブジェクト (LOB)」をGoogle検索
|