ホームページ >データベース >mysql チュートリアル >PHP を使用してバイナリ データ (Blob) を MySQL に安全に挿入するにはどうすればよいですか?

PHP を使用してバイナリ データ (Blob) を MySQL に安全に挿入するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-15 05:13:11803ブラウズ

How to Safely Insert Binary Data (Blobs) into MySQL Using PHP?

PHP を使用した MySQL データベースへの BLOB の挿入

PHP を使用して画像などのバイナリ データを MySQL データベースに効率的に保存するには、次のことが重要です。一般的なものを避ける落とし穴。

落とし穴: 関数呼び出しの結果を MySQL クエリに直接挿入しようとしています。

$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) . "')";

落とし穴: クエリに挿入する前にバイナリ データをサニタイズできません。

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

解決策 2: エスケープバイナリデータを使用してmysql_escape_string.

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

落とし穴: 大きなバイナリ データをデータベースに直接保存すると、データベースが肥大化する可能性があります。

解決策 3: 代替ストレージを検討するファイル ストレージ システムなどのバイナリ データのメソッド。

以上がPHP を使用してバイナリ データ (Blob) を MySQL に安全に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。