ホームページ > データベース > mysql チュートリアル > MySQL BLOB イメージが正しく表示されないのはなぜですか?

MySQL BLOB イメージが正しく表示されないのはなぜですか?

Patricia Arquette
リリース: 2024-12-29 15:28:11
オリジナル
985 人が閲覧しました

Why Is My MySQL BLOB Image Not Displaying Correctly?

MySQL に BLOB として保存されたイメージの表示

データベースに BLOB として保存されたイメージを取得しようとすると、それらを正しく表示することが困難になります。コードはデータを取得し、ヘッダーを image/jpeg に設定して画像をエコーするスクリプトに渡します。ただし、ブラウザでは画像アイコンは表示されますが、画像自体は表示されません。

この問題を解決するには、変更されたアプローチを採用することをお勧めします。

データベースに画像を挿入する

// Retrieve image data from a temporary file
$image = file_get_contents($_FILES['images']['tmp_name']);

// Prepare an SQL statement and bind the image parameter
$query = "INSERT INTO products (image) VALUES(?)";
$stmt = $db->prepare($query);
$stmt->bind_param('s', $image);

// Execute the statement
$stmt->execute();
ログイン後にコピー

から画像を取得して表示します。 Database

// Prepare an SQL statement and bind the ID parameter
$sql = "SELECT * FROM products WHERE id = ?";
$stmt = $db->prepare($sql);
$stmt->bind_param('s', $id);

// Execute the statement and retrieve the result
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_array();

// Encode the image data as base64 and embed it in an HTML element
echo '<img src="data:image/jpeg;base64,' . base64_encode($row['image']) . '" />';
ログイン後にコピー

この改訂されたアプローチにより、MySQL に BLOB として保存されたイメージを効果的に表示できるようになります。画像パラメータをバインドし、HTML 要素内で Base64 としてエンコードすると、画像データを正しく取得して表示できます。

以上がMySQL BLOB イメージが正しく表示されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート