Peter Kläusli: Bilder in MySQL speichern

Hallo

Ich entwickle ein Benutzerinterface mit HTML/PHP4, mit dem der Benutzer unter anderem Bilder als Blob-daten abspeichern können soll.

Mein Problem ist, dass ich das sql-statement für den insert nicht hinkriege.

Im PHP script lese ich zuerst die jpg-Datei mit fopen()/fread() in eine variable $bild ein. Dann schreibe ich das sql-statement wie folgt:

$sql = "insert into picdb (Pic) values ('".$bild."')";

Ich habe auch die Variante ohne Hoch-Komma versucht:

$sql = "insert into picdb (Pic) values (".$bild.")";

Ich erhalte immer einen mysql Fehler 1064.

Kann mir jemand sagen, was ich falsch mache?

Viele Grüsse aus Südafrika

Peter Kläusli

  1. hi,

    Im PHP script lese ich zuerst die jpg-Datei mit fopen()/fread() in eine variable $bild ein. Dann schreibe ich das sql-statement wie folgt:

    $sql = "insert into picdb (Pic) values ('".$bild."')";
    Ich habe auch die Variante ohne Hoch-Komma versucht:
    $sql = "insert into picdb (Pic) values (".$bild.")";
    Ich erhalte immer einen mysql Fehler 1064.

    hast du dir mal mit mysql_error() die komplette fehlermeldung angeschaut?

    hast du mal im handbuch nachgeschaut, was 1064 für ein fehler ist?

    hast du mal darüber nachgedacht, dass binäre daten wie die von bildern vielleicht sonderzeichen enthalten könnten, die für mysql missverständlich sind, wenn du sie einfach so, ohne jedwede behandlung, in die query packst?

    schau dir mal mysql_escape_string() an.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hi!

    Ich entwickle ein Benutzerinterface mit HTML/PHP4, mit dem der Benutzer unter anderem Bilder als Blob-daten abspeichern können soll.

    und du bist dir sicher, daß das auch in deinem Fall Bilder in der Datenbank gut und sinnvoll sind?

    Sowas in der Art hast du schon mal gelesen?
    http://www.php-faq.de/q/q-db-blob.html