URL で画像を取得し、複数のユーザーがさらにアクセスできるように、サムネイルに合わせてサイズを変更し、BLOB MySql に保存する必要があります (BLOB に画像を保存しないという提案は、ここでは適切ではありません)。私はGDクラスを使用して変換を行います。
問題は、BLOB 列に保存しようとすると、次のエラー メッセージが表示されることです。
SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを参照してください。 …В«jВїГџГЇГ·Г»' at line 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`タイプ。
何が間違っていますか?