Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Both sides previous revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
db:mysql:file_upload [2015/04/02 12:33] webproducer Seite verschoben und umbenannt von mysql_file_upload nach db:mysql:file_upload |
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> | ||
| + | |||