Latest web development tutorials
×

PHP Kurs

PHP Kurs PHP Kurze Einführung PHP installieren PHP Grammatik PHP Variable PHP echo/print PHP Datentypen PHP Konstante PHP Schnur PHP Die Betreiber PHP If...Else PHP Switch PHP Feld PHP Sortieren eines Array PHP Superglobals PHP While Verkehr PHP For Verkehr PHP Funktion PHP Magische Variablen PHP Namespaces PHP Objektorientiert

PHP Form

PHP Form PHP Formularauthentifizierung PHP Form - Erforderliche Felder PHP Form - Überprüfung E-Mail und URL PHP Komplette Formularinstanz PHP $_GET Variable PHP $_POST Variable

PHP Erweiterte Tutorial

PHP Mehrdimensionale Arrays PHP Datum PHP enthalten PHP Datei PHP Datei-Upload PHP Cookie PHP Session PHP E-mail PHP Sicherheit E-mail PHP Error PHP Exception PHP Filter PHP Erweiterte Filter PHP JSON

PHP 7 Neue Funktionen

PHP 7 Neue Funktionen

PHP Datenbank

PHP MySQL Kurze Einführung PHP MySQL Verbindung PHP MySQL Erstellen einer Datenbank PHP MySQL Erstellen Sie eine Datentabelle PHP MySQL einfügen von Daten PHP MySQL Legen Sie mehrere Daten PHP MySQL Prepared Statements PHP MySQL Lesen Sie Daten PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX Kurze Einführung AJAX PHP AJAX Datenbank AJAX XML AJAX Echtzeitsuche AJAX RSS Reader AJAX Abstimmung

PHP Referenzhandbuch

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP Bildverarbeitung PHP RESTful

PHP PDO große Objekte (LOB)

PHP PDO-Referenzhandbuch PHP PDO - Referenzhandbuch

Anwendung zu einer Zeit, könnte man eine Datenbank benötigen "große" Daten zu speichern.

"Groß" bedeutet in der Regel "um 4kb oder mehr", obwohl einige der Daten in der Datenbank "großen" zu erreichen, bevor leicht zu 32 KB Daten verarbeiten kann. Es kann Text oder binäre große Objekte in der Natur sein.

() Oder PDOStatement :: bindColumn ()) Aufruf der PDO in PDOStatement :: bindParam :: PARAM_LOB PDO Typ Code ermöglicht die Verwendung von großen Datentypen.

PDO :: PARAM_LOB sagt PDO die Daten als Stream zu behandeln, um in der Lage zu sein, PHP Streams API zu verwenden, zu bedienen.

Zeigen Sie ein Bild aus einer Datenbank

Das folgende Beispiel wird zu einer LOB Variable $ lob gebunden und dann () sendet sie an den Browser mit fpassthru. Da LOB einen Strom darstellt, so ähnlich wie fgets (), fread () und stream_get_contents () Funktion wie oben drauf verwendet werden.

<?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);
?>

Fügen Sie ein Bild in eine Datenbank

Das folgende Beispiel öffnet eine Datei und übergeben Sie die Datei-Handle an PDO eingeführt, um ein LOB zu tun. PDO so viel wie möglich, so dass die Datenbank in der effizientesten Weise den Inhalt der Datei zu erhalten.

<?php
$db = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2');
$stmt = $db->prepare("insert into images (id, contenttype, imagedata) values (?, ?, ?)");
$id = get_new_id(); // 调用某个函数来分配一个新 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();
?>

Fügen Sie ein Bild in eine Datenbank: Oracle

Für eine LOB aus einer Datei einfügen, ist Oracle etwas anders. Muss nach der Transaktion eingesetzt werden, da sonst bewirken, dass die neu eingefügten, wenn die Abfrage LOB mit einer Länge von 0 implizit vorgelegt ausgeführt wird,:

<?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(); // 调用某个函数来分配一个新 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();
?>

PHP PDO-Referenzhandbuch PHP PDO - Referenzhandbuch