Tabelle erstellen
CREATE TABLE `Bilder` (
`id` INT( 5 ) NOT NULL ,
`bild` MEDIUMBLOB NOT NULL ,
`filetype` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
)
Info: In BLOB passen 64 kb; in MEDIUMBLOB ganze 16 MB
In filetype wird der Dateityp gespeichert. Schließlich kann man neben JPG's auf GIF's, PNG's, etc hochladen.
Sicherheitshinweis: Ich gehe davon aus, dass ihr wisst, was ihr tut. Theoretisch könntet ihr allerlei Scripte hochladen und damit den Server zum Absturz bringen.
Wobei man anmerken sollte das Datenbanken nicht dafür konzipiert sind ganze Dateien zu speichern.
Dadurch belastet und überlädt man nur unnötig die Datenbank und es kann zu erheblichen Performance Problemen kommen.
Eine sinnvolle Alternative wäre, den absoluten Pfad der Datei in der Datenbank zu speichern und die Datei z.B mittels
PHP (move_uploaded_file) hochzuladen.
mysql-upload.php
<?
if(isset($_POST['submit']))
{
//MySQL Connect einfügen
$pfad_zur_datei = $_FILES['img']['tmp_name'];
VALUES ('', '". $data ."', '".$_FILES['img']['type']."')");
}
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
<input type="hidden" name="daten_id" value="1" />
<input type="file" name="img" />
<input type="submit" name="submit" value="Datei Upload" />
</form>
Wie ihr die Dateien wieder auslest, erfahrt ihr im Tutorial: MySQL Dateien ausgeben
Weitere Informationen zu Datei Uploads unter PHP gibts im Manual: http://de.php.net/manual/de/features.file-upload.php