PHP コードを使用して MySQL データベースに画像をアップロードする
このプログラミングの質問では、ユーザーが HTML フォームから MySQL データベースに画像をアップロードしようとしているときに問題が発生します。 PHPコード。エラー メッセージがないにもかかわらず、システムはデータベースへの画像データの挿入に失敗します。
画像アップロード プロセス
ユーザーは、画像のアップロードを処理するコード スニペットを提供しました。コードを分析したところ、次の問題が特定されました:
-
イメージ列定義の欠如: ユーザーは、MySQL テーブル内のイメージ列が BLOB として定義されているかどうかの指定を無視しています。タイプ。バイナリ データを保存するために不可欠です。この定義がないと、コードはデータベースに画像を正常に挿入できません。
-
mysql 関数の非推奨: コードでは、mysql_query などの非推奨の mysql 関数が使用されています。セキュリティとパフォーマンスを向上させるために、代わりに PDO または MySQLi を使用することを強くお勧めします。
-
不適切な SQL 構文: SQL 挿入ステートメントに不正な構文が含まれており、特にイメージ変数の前後の一重引用符が欠落しています。正しい構文は次のとおりです: INSERT INTO product_images (id, image, image_name) VALUES (1, '$image', '$image_name').
推奨アプローチ
適切な場合画像をアップロードするには、次のガイドラインに従う必要があります:
- 定義MySQL テーブルの画像列を BLOB として保存します。
- SQL クエリを実行するには、PDO または MySQLi を使用します。
- SQL インジェクションを防ぐために、mysql_real_escape_string() を使用して画像データをエスケープします。
- 次のような適切な属性を備えた標準化された HTML フォームを利用します。 enctype="multipart/form-data".
これらの修正を実装すると、ユーザーは PHP コードを使用して画像を MySQL データベースに正常にアップロードできるようになります。
以上がPHP を使用して画像が MySQL データベースにアップロードされないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。