ホームページ >バックエンド開発 >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 サイトの他の関連記事を参照してください。