Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
db:mysql:file_upload [2015/03/30 17:19] webproducer angelegt |
db:mysql:file_upload [2017/11/30 00:00] (aktuell) |
||
---|---|---|---|
Zeile 12: | Zeile 12: | ||
| MEDIUMBLOB | 16 MB | | | MEDIUMBLOB | 16 MB | | ||
| LONGBLOB | 4 GB | | | LONGBLOB | 4 GB | | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Beispiel ===== | ||
+ | |||
+ | **Ein mit [[:FPDF]] erzeugtes PDF in einer MySQL-Datenbank speichern:** | ||
+ | |||
+ | <code php> | ||
+ | $pdf = new PDF(); | ||
+ | ... | ||
+ | |||
+ | $Binary = $pdf->Output( "", "S" ); // Datei als Zeichenkette ausgeben | ||
+ | $SQL = "INSERT INTO Dateien ( Binary ) VALUES ( :BINARY );" | ||
+ | $res = $this->DB->prepare( $SQL ); | ||
+ | $pdf->Close(); | ||
+ | |||
+ | if( $res->execute( array( ":BINARY" => $Binary ) ) ) | ||
+ | return true; | ||
+ | </code> | ||
+ | |||
+ | **PDF-Datei aus Datenbank auslesen:** | ||
+ | |||
+ | <code php> | ||
+ | $SQL = "SELECT Binary FROM Dateien WHERE ID=" . $id; | ||
+ | $PDO = $this->DB->query( $SQL ); | ||
+ | |||
+ | if( $PDO->rowCount() == 1 ) // wenn die Datei gefunden wurde | ||
+ | { | ||
+ | $res = $PDO->fetch( PDO::FETCH_OBJ ); | ||
+ | header("Content-Type: application/pdf"); | ||
+ | header("Content-Description: File Transfer"); | ||
+ | header("Content-disposition:inline; filename=PDF_Dokument.pdf"); | ||
+ | echo $res->Binary; | ||
+ | exit; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== BLOB-Feld auf Inhalt prüfen ===== | ||
+ | |||
+ | Mit dem folgenden mySQL-Statement werden alle Datensätze ausgegeben, die im BLOB-Feld "PDF" Daten enthält. | ||
+ | |||
+ | <code sql> | ||
+ | SELECT * FROM Dateien WHERE LENGTH(PDF) > 0; | ||
+ | </code> | ||
+ |