我通过 URL 获取图像,需要适应缩略图并调整其大小并将其存储在 BLOB MySql 中以供多个用户进一步访问(建议不将图像存储在 BLOB 中不适合这里)。我使用 GD 类进行转换。
问题是当我尝试将其保存在 BLOB 列中时,我收到以下错误消息:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法,以便在 'Вў|ö³Ÿ}æ™gВѕГёГ.../~Г«[߇Þû*ВЌ1ГћГ»)IFГ±aIhВґГ„4В(Г …В«jВїГџГЇГ·Г»' 在第 1 行`
$im = fill_image_png($link) ; // GD library work
// get the image into the buffer from the image identifier
ob_start();
imagepng($im);
$stringdata = ob_get_contents(); // read from buffer
ob_end_clean(); // delete buffer
$zdata = gzdeflate($stringdata);
$zdata = mb_convert_encoding ($zdata, "utf-8");
//store into mysql db
if (insert_image($_db, $table_name, $item['link'], $zdata ) ) { echo "<em><strong>Image is stored into DB</em></strong><br/>"; }
else { echo "Failed to store image as binary<br/>"; }
存储过程的代码是:
function insert_image($db_handler, $table_name, $link, $image) {
mysqli_query($db_handler,"UPDATE {$table_name} SET Thumbnail = '{$image}' WHERE Link = '{$link}' " );
}
Thumbnail' column is of a
MEDIUMBLOB` 类型。
出了什么问题/遗漏了什么?