Topページへもどる

PHPとMySQLを用いたウエッブデータベース構築の記録

gazou 「限りなき~明日への挑戦!」の更新履歴はこちら gazou

年月日(曜) 構 築 の 記 録 (出来事)(更新日記を兼ねる)

記録件数=55件

2005年(平成17年) 1月18日(火) 「MySQL4/PHP5によるWebデータベース構築」(Spencer K Ogawa 著)を購入。(秀和システム発行、本体価格2800円+税)

2005年(平成17年) 1月20日(木) 「今日から使えるPHP5サンプル集」(山田祥寛著)を購入。(秀和システム発行、本体価格3000円+税)

2005年(平成17年) 1月21日(金) 「ホームページ(別館)」を置いているバリュー・ドメインレンタルサーバーがPHP5に対応していることが判明。それまでの「広告表示義務(無料)」から「有料広告免除サービス」を申し込む。

2005年(平成17年) 1月22日(土) ウエッブデータベースMySQLのインストールおよび各種設定

2005年(平成17年) 1月23日(金) WebサーバApache(アパッチ)のインストールおよび各種設定。PHPのインストールおよび各種設定

2005年(平成17年) 1月25日(火) PHPの例題ミニプログラムをローカルで(つまり、自分のパソコンにインストールしたWebサーバApacheにより)動かすことに成功

2005年(平成17年) 1月26日(水) PHPプログラムをサーバー(バリュー・ドメインレンタルサーバー)上で動かすことに成功

2005年(平成17年) 2月 8日(火) 「PHP5逆引き大全500の極意」(高島優作著)を購入。(秀和システム発行、本体価格2600円+税)

2005年(平成17年) 2月10日(木) 「PHP5で始めるWebアプリケーション構築ガイド PHP5本格派」(株式会社qnote著)を購入。(毎日コミュニケーションズ発行、本体価格2800円+税)。※あ~!本ばかり買っている自分が情けない!(データベースのテーブルに画像データを取り扱うにはどうすればいいんだろうか!だけを探し求めて、すでに買っている本で基礎から勉強しない自分が情けない!)

2005年(平成17年) 2月20日(日) ウエッブデータベースMySQLでデータの取り出しに成功

2005年(平成17年) 9月10日(土) 「MySQL&PHPで作ろう!Webデータベース構築ガイド」(豊崎直也・豊崎朋子 著)を購入。(ソーテック社発行、本体価格2840円+税)。画像を取り扱っているプログラムが載っていたので購入することを決めた。(ヨドバシカメラ大阪梅田店で購入)

2005年(平成17年) 9月19日(月) ウェッブデータベース構築で苦労

2005年(平成17年) 9月26日(月) バリュー・ドメイン・レンタルサーバーの管理画面からサーバー上にインストールしたMySQL管理ソフト「phpmyadmin」を用いて、テーブルを作成しようとテーブル名とフィールド数を入力して作成ボタンを押すとエラーメッセージが表示されてテーブル作成ができずに苦労。

2005年(平成17年) 9月30日(金) MySQL管理ソフトphpMyAdminで苦労、テーブル作成出来ず。

2005年(平成17年)10月 3日(月) MySQLをあきらめて別のWebデータベースPostgreSQLに乗り換えたが、インストールでうまくいかない!

2005年(平成17年)10月 4日(火) PostgreSQLのインストール不調

2005年(平成17年)10月 5日(水) PostgreSQLをインストールするためには、「Cygwin」というWindowsパソコン上にUnix環境を構築するソフトをインストールする必要があることが判明。パソコンショップで「CygwinでPostgreSQLをWindowsで使う本」(高島優作著、秀和システム発行、本体価格2600円+税)を購入してインストール開始。PostgreSQLの習得開始。

2005年(平成17年)10月 9日(日) PostgreSQLの習得

2005年(平成17年)10月15日(土) PostgreSQLの学習(データベースのバックアップ法)

2005年(平成17年)10月27日(木) PostgreSQLの習得をあきらめて、MySQLに戻ることにした。MySQLの再インストール作業

2005年(平成17年)10月30日(日) MySQLによるデータベース構築にメドが立った。サーバー上に自動インストールされた管理ソフトの使用をあきらめる。ローカル(自分のパソコン)にインストールしてある管理ソフトでテーブルを作成してそれをサーバーの管理画面から「データベースの復元」によりデータベースをアップする方法に切り替える。

2005年(平成17年)10月31日(月) MySQLデータベース操作のプログラム作り。少しずつデータベースを操作できるようになってきた。今までに購入している本を基礎から身につける事が重要だと気づいた。「急がば回れ!」であることがわかった。

2005年(平成17年)11月 1日(火) MySQLデータベースがおもしろくなって来た。

2005年(平成17年)11月 2日(水) ウェッブデータベースを操作するPHPプログラミングの習得

2005年(平成17年)11月 3日(木) 終日、データベース操作(クイズ)のPHP、JavaScript、HTML混在のプログラム作り。

2005年(平成17年)11月 4日(金) PHP、JavaScript、HTML混在のプログラム作り(クイズシステムの構築)。

2005年(平成17年)11月 5日(土) PHPプログラミングで苦労。(正誤記録や得点計算などのためのクッキー書き込みおよび読み取り、サーバーへのファイル新規作成および書き込み、読み取り方法の習得。)

2005年(平成17年)11月 6日(日) MySQL&PHPによるクイズシステム作りで、正誤判定と問題番号表示に成功!

2005年(平成17年)11月 9日(水) クイズシステム作りでテーブルの欠番ID対策と回答群のランダム配置の研究

2005年(平成17年)11月10日(木) テーブルの欠番ID対策の研究

2005年(平成17年)11月11日(金) クイズシステム作りでテーブルの欠番ID対策と回答群のランダム配置の研究

2005年(平成17年)11月16日(金)~17日(木) クイズシステム作り

2005年(平成17年)11月19日(土) クイズシステムのPHPプログラミング。「戻る」ボタンや「更新」ボタンで前の問題に戻れないないようにする研究。(「戻る」ボタンで戻られたり、「更新」ボタンで更新されると様々な問題点が発生することが判明!)

2005年(平成17年)11月25日(金) クイズシステム作り(「戻る」ボタンと「更新」ボタン対策)

2005年(平成17年)12月 3日(土) クイズシステムの改良作業

2006年(平成18年) 1月 4日(水) クイズシステムの「戻る」と「更新」ボタン対策完成!(クッキーを利用)

2006年(平成18年) 1月 6日(金) クイズシステムの「戻る」と「更新」ボタン対策の改良(クッキー利用)

2006年(平成18年) 1月 7日(土) クイズシステムの「戻る」と「更新」ボタン対策完了! 実際にサーバーにアップしての動作確認で不調!(ローカルではうまく行くのだが、「ページが見つかりません」というメッセージ)

2006年(平成18年) 1月14日(土) クイズシステムの改良。サーバー上での稼働に成功!

2006年(平成18年) 1月18日(水) 出題済みの問題文の記憶ファイルとしてクッキーではなく、サーバー上にファイルを作成することに成功!

2006年(平成18年) 1月22日(日) サーバー上でのファイル作成個数を50個(サーバーでのMySQLへの同時接続数は5個までだが、同時に50人まで可能ということ)に成功!(瞬間的な同時接続でなければ・・・)

2006年(平成18年) 1月31日(火) クイズシステムの改良。正誤判定ページなどへの画像挿入に成功(データとしての画像ではなく固定した画像)。

2006年(平成18年) 2月 1日(水) データベーステーブルの改良

2006年(平成18年) 2月 4日(土) 「クイズ24時館」に雑学クイズを追加

2006年(平成18年) 2月11日(土) 「クイズ24時館」へのアクセス解析設定作業

2006年(平成18年) 2月21日(火) 「ホームページ(別館)」に「PHPとMySQLを用いたウェッブデータベース構築の記録」のページ(つまり、このページ)を追加。(日記をたどって記入)

2006年(平成18年) 7月29日(土) データベースに画像そのもののデータを入れるのではなく「画像へのパス」を入れた方が楽であるということをソフトウエアのプロである知人から教えてもらった。

2006年(平成18年) 8月 1日(火) 「画像へのパス」をデータベースに入れる方法でローカルで「データとしての画像」を表示させることに成功。

2006年(平成18年) 8月 3日(木) 「画像へのパス」をデータベースに入れた画像入りの「農園クイズ」をサーバーにアップしてクイズを稼働させることに成功。

2007年(平成19年) 8月16日(木) 自分のパソコン内の管理ソフトでテーブル作成し、サーバーの管理画面から「データベースの復元」によりデータベースをアップする方法ではなく、データの登録や修正・削除などのすべてを自作のPHPプログラムで行う方式に切り替える。そのためのプログラミングに取りかかる。理由はphpMyAdminという管理ソフトが次々にバージョンアップされるので、何ヶ月かプログラミングを休んでいるとついていけないためである。(すべて自作方式の方が良いということに気が付いた。)

2007年(平成19年) 9月 9日(日) 半年位前にバリュー・ドメインのサーバーを変更したところ、それまで文字化けすることなく順調だったデータベースからの取得データの文字化けが起きたので約半年間クイズを閉鎖していたが、やっと「MySQLのバージョンの違いで取得データの文字化けが起きる」ことに気づいた。何日間もサーバー仕様がMySQL5のサーバーで文字化け解消の努力を試みたが、解消できなかったので、MySQL5のサーバーからMySQL4仕様のサーバーに変更したところ文字化け解消に成功した。MySQL5のサーバーでの文字化け対策は先送りにした。

2009年(平成21年) 8月~ レンタルサーバーを乗り換えたら移転先が、MySQLのバージョンが5.0だったので、文字化け発生。MySQL5サーバーでの文字化け対策を再開せざるを得なくなった。連日悪戦苦闘の連続だが文字化けは解消せず。

2009年(平成21年) 8月18日(火) インターネット検索中に偶然、クッキーを用いないたった3行の簡単なJavascriptによる「戻るボタン対策」を発見。(戻るボタンを押しても、瞬時に現在のページに戻ってくることで、前のページには戻れない仕組み。)

2009年(平成21年) 8月21日(金) MySQLバージョン5での取得データの文字化け解消に成功。約2年近くかかってやっと成功した。データベースの文字コード(照合順序)、テーブルの文字コード(照合順序)、テーブル内のコラム(列)の文字コード、PHPプログラムの保存時の文字コード等のすべてをUTF8に統一し、さらにPHPのプログラム内で「ini_set(○,△)」により「mb_internal_encoding」でutf8を設定、「SET NAMES UTF8」のSQL文を発行するなどにより文字化けを解消できた。いろいろ勉強になった。

2010年~2015年(平成22~27年) 次第にWEBデータベースの使用をやめて、自作のファイルシステム(各種のデータをテキストファイルとして記録する方式)に切り替えて運用している。理由は、MySQLなどの「既成のデータベース」は、バージョンアップなどにより、順調に動いていたプログラムが、いつの間にか動かなくなることである。「ファイルシステム」は、時代遅れで、セキュリティ対策としてはデータベースよりは劣るだろうが、クイズや学習システムなどの問題文や回答群などデータの記録用としては、問題はない。各種の個人情報を扱う場面では、やはり、データベースを扱うことにしたい。


Topページへもどる