ここまでの記事はこちら
今回はデータベースに画像ファイルを保存していきます。
データベースを作成していない方はこちらから確認してください。
動画
解説
データベースに接続
データベースへの接続は
- 画像を登録する時
- 画像を表示する時
- 画像を削除する時
に必要になります。
何度も同じコードを書くのは面倒なので、functions.php というファイルにデータベース接続する関数を用意します。
functions.php という名前でファイルを作成して、以下のようにコードを書きます。
4行目
dbname はデータベース名、host はホスト名を設定します。
ホスト名は ローカル環境の場合は localhost にします。
レンタルサーバーなどを利用している場合は、お使いのサーバーに合わせて変更してください。
6行目
ユーザー名とパスワードは、ご自身の MySQL の設定に合わせて変更してください。(phpMyAdmin 画面にログインする時のユーザ名とパスワードです。)
MAMP を使っていて、ユーザー名とパスワードの設定を行なっていない場合は root になっていると思います。
10・11行目
exit();
データベースに接続できなかった場合は、エラーメッセージを表示させてプログラムを終了します。
画像を登録する
次に list.php を開いて、画像を登録していきましょう。
1~32行目を追加します。
データベースに接続する
2行目で先ほど作成した functions.php を読み込んで、4行目でデータベースに接続しています。
データベースに接続したら、最後に忘れずに unset で接続を終了します。(31行目)
画像を登録する
6行目の if 文は
- form から画像を POST された場合は画像を保存
- POST でない場合は登録した画像を取得
という分岐になっています。
画像をフォームから POST すると、以下のデータを取得できます。
このデータを images テーブルに追加していきます。
登録が出来たら、データベース接続を終了し list.php にリダイレクトして完了です。(26~28行目)
データベースを確認する
MySQL の管理画面を開いて、画像が登録されているか確認してみてください。
* 画像が登録できない場合
コードを正しく書いているのに画像が登録できない場合は、以下の記事を参考に php.ini の設定を確認してください。

次に行うこと
次回はデータベースに登録した画像を表示していきます。
表示を確認するために、2~3枚の画像を登録しておいてください
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。
オンラインスクールを選ぶときのポイント
- 無料体験があること
- 個別サポートがあること
自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません。)
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。
ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい????
1. TechAcademy(テックアカデミー)
2. CodeCamp(コードキャンプ)
3. Treehouse
英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。
参考にさせて貰ってます。
ありがとう情報。感謝です。
wsdheadさん、コメントありがとうございます!
お役に立てれば嬉しいです????
めちゃくちゃ分かりやすいです!
”気づけばプロ並みPHP”の教科書やったあとで、そういえば投稿した画像データを特定ファイルからではなく、DBから表示するのはどうするのだろう?と思い、こちらにたどり着きました。
KIさん、当サイトを見つけて頂いてありがとうございます。
私もPHPを始めたばかりの頃「気づけばプロ並みPHP」読みました!とても良い本だったと記憶しています。
この記事が少しでもお役に立てれば幸いです🙂