ホームページ >データベース >mysql チュートリアル >PHP を使用してバイナリ データ (Blob) を MySQL に安全に挿入するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。