ホームページ > データベース > mysql チュートリアル > PHP を使用して MySQL に BLOB (画像) を適切に挿入するにはどうすればよいですか?

PHP を使用して MySQL に BLOB (画像) を適切に挿入するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-20 09:43:13
オリジナル
472 人が閲覧しました

How to Properly Insert Blobs (Images) into MySQL using PHP?

php を使用して MySql データベースに BLOB を挿入

MySQL データベースにイメージを保存しようとすると、問題が発生します。このガイドでは、画像データを正常に保存するための解決策を説明します。

問題

<br>$sql = "INSERTの中へImageStore(ImageId,Image)<br>VALUES('$this->image_id','file_get_contents($tmp_image)')";<br>

このコードPHP で文字列を構築しますが、関数呼び出し file_get_contents($tmp_image) は文字列の前に評価されません。が作成されます。その結果、実際のバイナリ データは挿入されません。

解決策 1

これを解決するには、明示的に連結する必要があります。関数の結果call:

<br>$sql = "INSERT INTO ImageStore(ImageId,Image)<br>VALUES('$this->image_id','" . file_get_contents ($tmp_image) 。 "')";<br>

解決策 2

さらに、バイナリ データ内の文字がすべてクエリを妨げる可能性がありますエスケープされました:

<br>$sql = "INSERT INTO ImageStore(ImageId,Image)<br>VALUES('$this->image_id','" . mysql_escape_string (file_get_contents($tmp_image)) 。 "')";<br>

解決策 3

大きなバイナリ データをデータベースに保存することは、通常推奨されません。パフォーマンスの問題やデータベースの肥大化につながる可能性があります。代わりに、別のファイル システムを使用して画像を保存することを検討してください。

以上がPHP を使用して MySQL に BLOB (画像) を適切に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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