dポイントプレゼントキャンペーン実施中!

インターネット上のホームページからデータベースをアクセス(検索のみ)して、
ホームページにその結果を表示する仕組みについて考えているのですが、
初心者ですので、分からないでいます。
どなたか、よい仕組みをお教え下さい。

前提を以下に示します。

(1) ある会社のホームページが外部のサーバに置かれています。
(2) その会社では、ローカルでMS Accessを使用して、Accessデータベースを作成しています。
(3) ホームページ上から検索するデータはこのAccessに格納されているデータです。

そこで、教えて頂きたいのが、サーバ上で検索する場合、サーバにはどのデータベース形式
(Access、MySql、PostgreSQL等)がよいのでしょうか?
(ローカルのAccessデータベースを妥当なデータベースに変換してアップロードする
 事を考えています)

又、アクセスの手段として、HTMLから直接アクセス、JAVAによるアクセス、PHPからのアクセス
等が考えられると思うのですが、どの仕組みが単純にできるでしょうか?

この時、考慮しなければいけないのが、ホームページは外部のサーバにあるため、
必要なドライバ等のインストールを行う事はできない。
という点です。

どのような仕組みが単純に実現できるのか、どなたかいいお知恵をご教授下さい。

よろしくお願い致します。

A 回答 (7件)

> (1) AccessデータベースからMySQLへの変換


> (2) ローカル環境で設置済みのphpMyAdminで、SQL文を有したSQL
> ファイルを作成する
> (3) サーバで、phpMyAdminを使用してエクスポートしたSQLファイ
> ルをインポートする。

えと、普通、データの登録・変更・削除が必要になるならば、それを管理者用のWebページとして構成して、Webですべて完結させるものですが。
DBが2つあっては、どれが反映すべきデータが分かりませんよね。

面倒だったら、Accessを撤廃し、phpMyAdminの使い方をレクチャーすればいいんじゃないですかね。
しかし、それでシステムが破壊されても文句言えません。
本来、公開すべきでないものを公開するわけですから。
せっかく一旦はデータを移行したはずなのに、ローカル環境のAccessというとても閉鎖的な環境でデータの更新をすること自体が間違いだと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。

諸事情により、今のローカル環境のAccessを捨てる事はできません。

なんとか、上記ステップをユーザに納得させるしかないようですね。

本当にありがとうございました。

お礼日時:2016/05/18 14:41

手順は


(1) ローカル環境で設置済みのphpMyAdminで、SQL文を有したSQLファイルを作成する
(2) サーバで、phpMyAdminを使用してエクスポートしたSQLファイルをインポートする。

です。
phpMyAdminのインポート画面で、アップロードするファイルを選びます。
なので、サーバへSQLファイルをFTPなどでアップロードする必要はありません。


> 通常のPHPからMySQLへのデータの検索は、SQL文をPHPから発行す
> る事によって、
> データを取得するので、ここには、phpMyAdminは登場しないと
> 考えてよろしいでしょうか?
その通りです。
Webサイトを構成するPHPのコード内で、phpMyAdminは無関係です。
    • good
    • 1
この回答へのお礼

ありがとうございました。
大変、参考になりました。
この方向で、システムの具体案を設計させて頂く事にします。

最後に、もう1点のみご意見を頂ければ嬉しいです。

ローカル環境を使用のユーザは、極力色々な作業をする事を嫌っています。
PHPプログラムのアップロードは、一度アップロードすればそう頻繁に変更する事はありません。
ところが、ローカル環境でのAccessのデータは、日々更新されています。

このデータを
(1) AccessデータベースからMySQLへの変換
(2) ローカル環境で設置済みのphpMyAdminで、SQL文を有したSQLファイルを作成する
(3) サーバで、phpMyAdminを使用してエクスポートしたSQLファイルをインポートする。
の手順をできるだけ、少ない操作で(ユーザは、「今日の締めボタン」等と言っていますが)
実現できる手段について

ご意見、頂けると嬉しいです。

よろしくお願い致します。

お礼日時:2016/05/18 13:47

> の手順で、4.のアップロードは、PHPファイルのアップロードとの事


> ですが
> ローカル環境で作成したMySQLのデータベースもアップロードすれ
> ば、
> サーバで、PHPからSQLを発行してMySQLにアクセスできると、考え
> ていたのですが、
> そうではないのでしょうか?
DBと言えど、ファイルで管理されています。
そして、DBのファイルを直接書き換えるような権限は共用サーバーでは与えられません。

> サーバでのMySQLへのアクセスは、PHPからデータを検索する事だけ
> を
> 考えていました。
> コマンドプロンプトで、直接MySQLを操作する事は、考えていません
> でした。
> それでも、サーバにphpMyAdminが必要になってくるのでしょうか?
前段の話がある以上、DBの作成・メンテナンスをする上で必須になります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

ご指摘頂いた件に付き、サーバを管理している会社に
MySQLのデータベースをアップロードによって、書き換える事が可能かどうか
問い合わせた所、以下の回答を頂きました。

―ーーーーーーーーーー
また、MySQLデータベースにつきましては、
サーバーを確認させて頂きましたところ、
phpMyAdminが導入されております。
データベースへのアクセスは、phpMyAdminから実行して頂く事を推奨致します。
ーーーーーーーーーーー

これにより、サーバへのDBの反映は、ご指摘通り

―――――――――――
ローカル環境で設置済みのphpMyAdminから、SQL文を有したSQLファイルをエクスポートします。
次に、サーバーで設置済みのphpMyAdminから、エクスポート済みのSQLファイルを指定してインポートします。
そうすることで、サーバーのDBに反映されます。
―――――――――――
とする事にします。
ここのイメージをもう少し、具体的に記述すると、
(1) ローカル環境で設置済みのphpMyAdminで、SQL文を有したSQLファイルを作成する
(2) そのSQLファイルをサーバにアップロードする
(3) サーバで、phpMyAdminを使用してアップロードしたSQLファイルをインポートする。
という事でよろしいでしょうか?

又、サーバへのDBの反映は、上記のように、phpMyAdminを使用しなければいけない
という事は分かりましたが、

通常のPHPからMySQLへのデータの検索は、SQL文をPHPから発行する事によって、
データを取得するので、ここには、phpMyAdminは登場しないと
考えてよろしいでしょうか?

本当に、度々で恐縮ですが、よろしくお願い致します。

お礼日時:2016/05/18 13:04

> MySQLへのデータベースアクセスは、PHPから直接にSQLを発行する> 事によって


> できないのでしょうか?
できますよ。
それはページの実装のお話であって、ここで問題としたのはサーバーへの配置方法のはずです。
このような例を言えば分かりやすいでしょうか。
 1.ローカル環境にPHP+MySQL+phpMyAdminの環境を構築。
 2.MySQLにマスタデータとか、Accessから移行したデータを投入。
   (例えばログインユーザーデータとか、顧客マスタとか)
 3.ローカル環境でWebページの製作。
 4.完成されたWebページをサーバーへアップロード。

この時、4.で行うことは、主にPHPファイルのアップロードです。
しかし、初回や、DB構成、レコード内容の変更があった時にはDBも
反映しなくてはなりません。
どのように反映するか?
ローカル環境で設置済みのphpMyAdminから、SQL文を有したSQLファイルをエクスポートします。
次に、サーバーで設置済みのphpMyAdminから、エクスポート済みのSQLファイルを指定してインポートします。
そうすることで、サーバーのDBに反映されます。


> ここに記述して頂いたphpMyAdminというツールを介して、PHPから
> MySQLへ
> アクセスする必要があるのでしょうか?
あります。理由は後述。

> phpMyAdminをWebで調べてみたのですが、MySQLの管理ツールの> 位置づけのように
> 捉えられ、どの場面でこのツールが必要になるのかが、よく理解でき
> ませんでした。
当たり前の話ですが、MySQLは、Webサイトの構築に特化したものではないので、MySQL単独でインストールして利用することも想定されます。
Webサイトを構築する際、PHPからMySQLを操作して、初めてWebサイトにDBを考慮した動作をさせています。
PHPを有していない環境の時、MySQLのDBは、コンソール(コマンドプロンプト)上でコマンドを叩いて実行して操作します。
しかし、共用サーバーなどでは、契約者がそのような操作を行える権限を許可していません。
phpMyAdminはPHP+MySQLで構成されたWebサイトと同義です。
よって、phpMyAdminからMySQLのDBを操作することができます。
そのため、契約者がMySQLを操作したい時、phpMyAdminを介することになります。
    • good
    • 0
この回答へのお礼

早速のご回答、誠にありがとうございます。
PHP、MySQLとも初心者なので、歯がゆい思いをされておられるかも知れませんが、
さらに、お教え下さい。

> 1.ローカル環境にPHP+MySQL+phpMyAdminの環境を構築。
> 2.MySQLにマスタデータとか、Accessから移行したデータを投入。
>   (例えばログインユーザーデータとか、顧客マスタとか)
> 3.ローカル環境でWebページの製作。
> 4.完成されたWebページをサーバーへアップロード。

の手順で、4.のアップロードは、PHPファイルのアップロードとの事ですが
ローカル環境で作成したMySQLのデータベースもアップロードすれば、
サーバで、PHPからSQLを発行してMySQLにアクセスできると、考えていたのですが、
そうではないのでしょうか?

>phpMyAdminはPHP+MySQLで構成されたWebサイトと同義です。
この記述もよく理解できませんでした。(申し訳ありません)

サーバでのMySQLへのアクセスは、PHPからデータを検索する事だけを
考えていました。
コマンドプロンプトで、直接MySQLを操作する事は、考えていませんでした。

それでも、サーバにphpMyAdminが必要になってくるのでしょうか?

本当に度々で申し訳ありませんが、よろしくご教授お願い致します。

お礼日時:2016/05/18 10:20

> PHP+MySQLという組み合わせをご回答として頂きましたが、


> この組み合わせであれば、サーバ側には、この組み合わせでの動作環
> 境の環境設定として、
> 特にインストールしなければいけない物はないと考えてよろしいでし
> ょうか?
ご契約されているサーバーの仕様をご確認ください。
PHP、MySQLという言葉があると思います。
例えばエックスサーバーだと以下ページに記されており、
MySQLの利用バージョン、PHPの利用バージョンも記されています。
https://www.xserver.ne.jp/functions/

>(Webで調べてみると、「XAMPP」なるものをインストールする必要
> がある
> との記述に、出くわしましたが、これは、サーバ側にインストール
> する必要がないのでしょうか?)
これはローカル環境でWebページを製作する際にというお話であり、
サーバーにXAMPPをインストールすることはありません。

> ローカルで作成したPHPのプログラムと、Accessから変更したMySQ
> Lのデータベースを
> サーバに配置するだけで、実現できる。
> と考えてよろしいでしょうか?
PHPのプログラムはそうですが、データベースは違います。
データベースはエクスポートして、サーバー側へインポートするという作業になります。
PHP+MySQLでよく使われるツールとしてphpMyAdminがあります。
phpMyAdminは、サーバーに既に用意されている場合もあります。
(インストールメニューがあったり、付属で当たり前のようにあったり、必要なら自分で入れろよスタンスだったり様々ですが)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

サーバを管理して会社に、PHPとMySQLの使用ができる環境が整っているかの質問を
出した所、環境が整っているとの回答を得て、安心している所です。
ありがとうございました。

申し訳ないのですが、さらに質問をさせて下さい。

ご回答の中の
>PHPのプログラムはそうですが、データベースは違います。
>データベースはエクスポートして、サーバー側へインポートするという作業になります。
という意味がよく理解できませんでした。
MySQLへのデータベースアクセスは、PHPから直接にSQLを発行する事によって
できないのでしょうか?

>PHP+MySQLでよく使われるツールとしてphpMyAdminがあります。
ここに記述して頂いたphpMyAdminというツールを介して、PHPからMySQLへ
アクセスする必要があるのでしょうか?

phpMyAdminをWebで調べてみたのですが、MySQLの管理ツールの位置づけのように
捉えられ、どの場面でこのツールが必要になるのかが、よく理解できませんでした。

度々の質問で誠に恐縮なのですが、是非ともご教授、お願い致します。

お礼日時:2016/05/18 09:06

【DBの選定】


Accessとほぼ同義な簡易的なデータベースという位置づけとしては
SQLiteというものがあります。
MySQL、MariaDB、PostgreSQLはどちらでも好きな方をどうぞ。
内容からすると、SQLite、またはMySQL、MariaDBがいいでしょう。

【実装】
まず、HTMLからサーバ上のDBへはアクセスできません。
サーバサイドプログラム(PHPやJavaなど)を介して行います。
どれも難しいことはありませんが、どの言語を選定したとしても、最初の環境構築でつまづくかもしれませんね。


> この時、考慮しなければいけないのが、ホームページは外部のサーバ
> にあるため、
> 必要なドライバ等のインストールを行う事はできない。
これはつまり共用サーバーということですかね。
ならば選択肢は自ずと決まってくるはずです。
何も考えなかったら、自然とPHP+MySQLではないでしょうか。
Javaで動かしたいなどの要望があるならば、別なプランによる契約を行ってサーバー構築などが必要になると思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

はいサーバは商用の共用サーバです。

PHP+MySQLという組み合わせをご回答として頂きましたが、
この組み合わせであれば、サーバ側には、この組み合わせでの動作環境の環境設定として、
特にインストールしなければいけない物はないと考えてよろしいでしょうか?
(Webで調べてみると、「XAMPP」なるものをインストールする必要がある
 との記述に、出くわしましたが、これは、サーバ側にインストールする必要がないのでしょうか?)

ローカルのPCには、何でもインストールできます。
ローカルで作成したPHPのプログラムと、Accessから変更したMySQLのデータベースを
サーバに配置するだけで、実現できる。
と考えてよろしいでしょうか?

度々の質問で恐縮さのですが、
よろしくお願い致します。

お礼日時:2016/05/17 10:24

DBについては、MySQLもしくはPostgreSQLがよいでしょう


個人的にはMySQL信者ですが、世間的には言うほど差はないかもしれません
Accessを選択するくらいならSQLiteの方がよいかもしれません

ウェブアプリの作り込みをどうしたいかによるので
PHPは一長一短ありますが、ベターな選択肢でしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す