echo $begrüßung;
Wie aber lese ich ein Bild ein bzw aus?
Wie kann ich Bilder in einer MySQL-Datenbank speichern?
Die dort empfohlene/weiterverlinkte Methode ist schon ziemlich alt, bezieht sie sich doch auf PHP3. Prinzipiell kann man heute auch noch so verfahren, muss aber einges beachten, was der Artikel außer Acht lässt.
SQL-Statements sind Text. Will man Texte und auch binäre Daten darin übertragen sind diese entsprechend zu kennzeichnen, sprich: Anführungszeichen zu verwenden. Kommen nun Anführungszeichen und noch ein paar weitere Sonderzeichen in den Daten vor, sind diese besonders zu kennzeichnen, damit sie nicht als Text-Begrenzer oder als Zeichen mit Sonderfunktion angesehen werden. Dies kann für MySQL am besten die Funktion mysql_real_escape_string(). Der Artikel verwendet stattdessen addslashes(), was aber zu wenig Zeichen berücksichtigt.
Was dem Artikel außerdem fehlt ist sämtliches Reagieren auf Fehlerzustände. Beispielsweise:
$data = addslashes(fread(fopen($form_data, "r"), filesize($form_data)));
Wenn die Datei nicht lesbar ist, steht halt nichts in der Datenbank, ohne dass man dabei gewarnt worden ist. (Gut, hier gibt es wenigstens eine PHP-Fehlermeldung, aber nur, weil der Autor scheinbar vergessen hat, wie wild mit @ um sich zu werfen, so wie er es auf der nächsten Seite getan hat.)
Fazit:
- Der verlinke Artikel ist nicht unkommentiert empfehlenswert.
- Binärdaten werden genauso behandelt wie Strings (mysql_real_escape_string())
- Rückgabewerte, die Fehlerzustände signalisieren, sollten nicht unbeachtet bleiben.
echo "$verabschiedung $name";