StupidBoy
Mitglied Gold
Hallo,
ich stehe gerade ziemlich auf dem Schlauch und komme einfach nicht auf die Lösung meines Porblems welches sich folgendermaßen darstellt.
Ich erzeuge mittels PHP ein Bild und möchte dieses als BLOB in eine MySQL Datenbank schreiben.
Soweit so gut, das Bild wird erzeugt (ich kanns mir anzeigen lassen) und anschließend scheinbar in die Datenbank geschrieben, kein Fehler, kein gar nichts.
Nur wenn ich in die Datenbank schaue, muss ich feststellen, dass das entsprechende Feld nur 1 Byte einhält, eindeutig zu wenig für ein Bild.
Ich komm einfach nicht auf den Fehler. Das SQL-Query wird ansonsten ohne Probleme ausgeführt, die Daten, abgesehen vom BLOB, korrekt aktualisiert.
Ich bin für jede Hilfe dankbar.
Meine Tabelle:
Mein PHP-Code:
ich stehe gerade ziemlich auf dem Schlauch und komme einfach nicht auf die Lösung meines Porblems welches sich folgendermaßen darstellt.
Ich erzeuge mittels PHP ein Bild und möchte dieses als BLOB in eine MySQL Datenbank schreiben.
Soweit so gut, das Bild wird erzeugt (ich kanns mir anzeigen lassen) und anschließend scheinbar in die Datenbank geschrieben, kein Fehler, kein gar nichts.
Nur wenn ich in die Datenbank schaue, muss ich feststellen, dass das entsprechende Feld nur 1 Byte einhält, eindeutig zu wenig für ein Bild.
Ich komm einfach nicht auf den Fehler. Das SQL-Query wird ansonsten ohne Probleme ausgeführt, die Daten, abgesehen vom BLOB, korrekt aktualisiert.
Ich bin für jede Hilfe dankbar.
Meine Tabelle:
PHP:
CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`password` varchar(64) COLLATE latin1_general_ci NOT NULL,
`mail` varchar(128) COLLATE latin1_general_ci DEFAULT NULL,
`customer_id` int(8) NOT NULL,
`surname` varchar(120) COLLATE latin1_general_ci DEFAULT NULL,
`prename` varchar(120) COLLATE latin1_general_ci DEFAULT NULL,
`birthdate` date NOT NULL,
`birthday_applied` date NOT NULL DEFAULT '2001-01-01',
`birthday_card` mediumblob,
`birthday_card_id` varchar(62) COLLATE latin1_general_ci DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `mail` (`mail`),
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ;
Mein PHP-Code:
PHP:
//$im ist die Grafik, wir vorher erzeugt und lässt sich testweise auch an dieser Stelle ausgeben.
$im = addslashes($im);
$data = array('birthday_card' => $im,
'birthday_card_id' => $birthdayCardId);
$tbl_user = new TableUser();
$adapter = $tbl_user->getAdapter();
$where = $tbl_user->getAdapter()->
quoteInto('customer_id = ?', $this->userSession->userId);
$row = $tbl_user->update($data, $where);
Zuletzt bearbeitet: