Ankündigung

Einklappen
Keine Ankündigung bisher.

Bilder in eine SQLite Datenbank speichern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Bilder in eine SQLite Datenbank speichern

    Hallo,

    ich habe folgendes Problem, das keine Bilder gespeichert werden. Was mache ich falsch.

    bilderupload.php
    PHP-Code:
    <? 

    $db = sqlite_open("meine_datenbank"); 

    $dateityp = GetImageSize($_FILES['img']['tmp_name']);  
    if($dateityp[2] != 0) 
    {  
    if($_FILES['img']['size'] < 65536)  
    {  
      
            $pfad_zur_datei = $_FILES['img']['tmp_name']; 
            $data = addslashes(fread(fopen($pfad_zur_datei, "r"), filesize($pfad_zur_datei))); 
             
    if (isset($id)) { 
    $abfrage=  
            "INSERT INTO bilder (id,bild,filetype) VALUES ('$data','$_FILES[img][type]')";  
         sqlite_unbuffered_query($db,$abfrage);  
         sqlite_close($db); 

    echo "Das Bild wurde erfolgreich hochgeladen";  
    }  
    else  
    {  
    echo "Das Bild darf nicht größer als 64 kb sein ";  
    }  

    }  

    else  
    {  
    echo "Bitte nur Bilder im Gif bzw. jpg Format verwenden!";  


    ?> 
      
    <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>
    tabelle_anlegen.php
    PHP-Code:
    <?php 
       $db 
    sqlite_open("meine_datenbank"); 
       
    $abfrage
          
    "CREATE TABLE bilder ( "
             
    "id INT(5) PRIMARY KEY ,"
             
    "bild MEDIUMBLOB,"
             
    "filetype VARCHAR(50)"
          
    ")"
       
    sqlite_query($db,$abfrage); 
       
    sqlite_close($db); 
    ?>

  • #2
    Du bist dir sicher, dass du Binärdaten speichern willst?
    Datenbanken - Ist es sinnvoll, Bilder in einer Datenbank abzulegen?

    Ich würde an deiner Stelle nur die Pfade abspeichern ...

    Kommentar


    • #3
      Auf jeden Fall hast du in deinem INSERT schon mal 3 Felder und nur 2 Werte...

      Kommentar


      • #4
        Zitat von donald123 Beitrag anzeigen
        Du bist dir sicher, dass du Binärdaten speichern willst?
        Datenbanken - Ist es sinnvoll, Bilder in einer Datenbank abzulegen?

        Ich würde an deiner Stelle nur die Pfade abspeichern ...
        Ja, das ist mir bewusst. Ich wollte deswegen alles in der Datenbank haben, das ich nur eine Datei per Email verschicken muss und möchte auch das ganze nur lokal auf meinen Rechner laufen lassen. Die Datenbank möchte ich nur mal meinen Freund schicken können, ohne das ich jedes mal noch den Bilderupload ordner zu schicken. Klar gibt es zip oder ähnliches! Später möchte ich dann einfach einen Webserver von USB Stick starten, ohne mySQL laufen zu lassen.

        Kommentar


        • #5
          Hallo,

          ich komme einfach nicht weiter, hat einer mal einen Lösungsvorschlag. Ich stehe momentan auf den Schlauch.

          Kommentar


          • #6
            wie cycap schon sagte:

            diese zeile:

            PHP-Code:
            $abfrage=  
                    
            "INSERT INTO bilder (id,bild,filetype) VALUES ('$data','$_FILES[img][type]')"
            ist schwachsinn, du hast 3 felder (id,bild,filetype) ordnest aber nur 2 werte zu ('$data','$_FILES[img][type]')
            da fehlt vornedran die zuweisung der id, oder du lässt sie bei der felderauflistung weg (bild,filetype)

            und "geht nicht" ist nicht grade eine genaue fehlerbeschreibung...

            Kommentar

            Lädt...
            X