:MySQLデータベースに画像を保存
は、ファイルの他のタイプの保存と違いはありません。画像を保存するときは、mime_content_type()を使用してコンテンツタイプも保存する必要があります。これにより、が正しくデータベースから取得するときにイメージを再構成できます。
イメージのバイナリデータをページにエコーすることはできません。その形式では何も意味しないからです。
ウェブページに画像が表示されるのは、ブラウザがGETリクエストをサーバーに送信し、サーバーが画像のMIMEタイプのコンテンツを返したためです。
あなたは簡単にこのような生のバイナリデータを指すように<image>
タグにURIを使用することができます。上記のタグで、MIMEタイプが指定されていることを
<img src="data:<?php echo $imageMimeType; ?> ; base64, <?php echo $binaryImage; ?>">
は注意してください。
いくつかの提案:テーブル全体から他の関連する分野のすべての画像のとすべてを返しますPDO
あなたの現在のmysqliのクエリを使用して
- スタート。私はだと思います。あなたは
where
句を使用しようと思ったかもしれません。
- データベースに画像を保存するのは面倒で、一般的にファイルはデータベースの候補ではありません。イメージは小さいかもしれませんが、ファイルシステムは通常、それらを格納するための最良の候補です。イメージを格納するフォルダ構造を簡単に設定し、データベースを使用してパスを保存することができます。
これは実際のコードですか。 'LOAD_FILE(" E:/wamp64/tmp/test.jpg "));' - そうなら、それらの中括弧はあなたのコードを窒息させ、エラー報告はそれについてあなたに語ったでしょう。 –
はい、私はここでそれらをコピーしたときに中括弧が現れた理由はわかりませんが、実際には普通の引用符であり、ファイルを挿入するときにエラーは表示されませんでした – sandboxj
phpのエラー報告を使用し、mysqli_error –