Ticketa
Registered
Много странно (поне за мен) имам функция, чрез която добавям файлове (снимки = аватари) в blob към базата данни, обаче при опит да добавя снимката към таблицата в базата получавам грешка:
EDIT: Коригирах типа на BLOB от BLOB на longblob и всичко е прекрасно! Благодаря все пак
Fatal error
Uncaught exception: 'PDOException'
Message: 'SQLSTATE[22001]: String data, right truncated: 1406 Data too long for column 'data' at row 1'
Stack trace:
SQL:
CREATE TABLE files (
id INT AUTO_INCREMENT PRIMARY KEY,
mime VARCHAR (255) NOT NULL,
data BLOB NOT NULL
);
Код:
/**
* insert blob into the files table
* @param string $filePath
* @param string $mime mimetype
* @return bool
*/
public function insertBlob($filePath, $mime) {
$blob = fopen($filePath, 'rb');
$sql = 'INSERT INTO files(mime,data) VALUES(:mime, :data)';
$db = static::getDB();
$stmt = $db->prepare($sql);
$stmt->bindParam(':mime', $mime);
$stmt->bindParam(':data', $blob, PDO::PARAM_LOB);
return $stmt->execute();
}
EDIT: Коригирах типа на BLOB от BLOB на longblob и всичко е прекрасно! Благодаря все пак