ホームページ > バックエンド開発 > PHPチュートリアル > PHP を使用して MySQL に画像 (Blob) を適切に保存するにはどうすればよいですか?

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

Linda Hamilton
リリース: 2024-11-30 13:47:11
オリジナル
988 人が閲覧しました

How to Properly Store Images (Blobs) in MySQL Using PHP?

PHP を使用した MySQL データベースへの BLOB の保存

MySQL データベースにイメージを保存しようとすると、クエリがイメージの挿入に失敗すると問題が発生する可能性があります。この記事では、この問題の解決策を説明します。

問題:

次のクエリでは、file_get_contents($tmp_image) が関数呼び出しではなく文字列として扱われます。

$sql = "INSERT INTO ImageStore(ImageId,Image) 
VALUES('$this->image_id','file_get_contents($tmp_image)')";
ログイン後にコピー

解決策1:

文字列から飛び出して明示的な連結を実行します:

$sql = "INSERT INTO ImageStore(ImageId,Image) 
VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";
ログイン後にコピー

解決策 2:

バイナリ データをエスケープして防止します無効クエリ:

$sql = "INSERT INTO ImageStore(ImageId,Image) 
VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";
ログイン後にコピー

解決策 3:

画像をファイル システムに保存するか、クラウド ストレージ サービスを使用して、データベース サイズを最小限に抑えます。

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

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