![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?a65a0e2)
インターネット上のホームページからデータベースをアクセス(検索のみ)して、
ホームページにその結果を表示する仕組みについて考えているのですが、
初心者ですので、分からないでいます。
どなたか、よい仕組みをお教え下さい。
前提を以下に示します。
(1) ある会社のホームページが外部のサーバに置かれています。
(2) その会社では、ローカルでMS Accessを使用して、Accessデータベースを作成しています。
(3) ホームページ上から検索するデータはこのAccessに格納されているデータです。
そこで、教えて頂きたいのが、サーバ上で検索する場合、サーバにはどのデータベース形式
(Access、MySql、PostgreSQL等)がよいのでしょうか?
(ローカルのAccessデータベースを妥当なデータベースに変換してアップロードする
事を考えています)
又、アクセスの手段として、HTMLから直接アクセス、JAVAによるアクセス、PHPからのアクセス
等が考えられると思うのですが、どの仕組みが単純にできるでしょうか?
この時、考慮しなければいけないのが、ホームページは外部のサーバにあるため、
必要なドライバ等のインストールを行う事はできない。
という点です。
どのような仕組みが単純に実現できるのか、どなたかいいお知恵をご教授下さい。
よろしくお願い致します。
No.7ベストアンサー
- 回答日時:
> (1) AccessデータベースからMySQLへの変換
> (2) ローカル環境で設置済みのphpMyAdminで、SQL文を有したSQL
> ファイルを作成する
> (3) サーバで、phpMyAdminを使用してエクスポートしたSQLファイ
> ルをインポートする。
えと、普通、データの登録・変更・削除が必要になるならば、それを管理者用のWebページとして構成して、Webですべて完結させるものですが。
DBが2つあっては、どれが反映すべきデータが分かりませんよね。
面倒だったら、Accessを撤廃し、phpMyAdminの使い方をレクチャーすればいいんじゃないですかね。
しかし、それでシステムが破壊されても文句言えません。
本来、公開すべきでないものを公開するわけですから。
せっかく一旦はデータを移行したはずなのに、ローカル環境のAccessというとても閉鎖的な環境でデータの更新をすること自体が間違いだと思います。
ありがとうございました。
諸事情により、今のローカル環境のAccessを捨てる事はできません。
なんとか、上記ステップをユーザに納得させるしかないようですね。
本当にありがとうございました。
No.6
- 回答日時:
手順は
(1) ローカル環境で設置済みのphpMyAdminで、SQL文を有したSQLファイルを作成する
(2) サーバで、phpMyAdminを使用してエクスポートしたSQLファイルをインポートする。
です。
phpMyAdminのインポート画面で、アップロードするファイルを選びます。
なので、サーバへSQLファイルをFTPなどでアップロードする必要はありません。
> 通常のPHPからMySQLへのデータの検索は、SQL文をPHPから発行す
> る事によって、
> データを取得するので、ここには、phpMyAdminは登場しないと
> 考えてよろしいでしょうか?
その通りです。
Webサイトを構成するPHPのコード内で、phpMyAdminは無関係です。
ありがとうございました。
大変、参考になりました。
この方向で、システムの具体案を設計させて頂く事にします。
最後に、もう1点のみご意見を頂ければ嬉しいです。
ローカル環境を使用のユーザは、極力色々な作業をする事を嫌っています。
PHPプログラムのアップロードは、一度アップロードすればそう頻繁に変更する事はありません。
ところが、ローカル環境でのAccessのデータは、日々更新されています。
このデータを
(1) AccessデータベースからMySQLへの変換
(2) ローカル環境で設置済みのphpMyAdminで、SQL文を有したSQLファイルを作成する
(3) サーバで、phpMyAdminを使用してエクスポートしたSQLファイルをインポートする。
の手順をできるだけ、少ない操作で(ユーザは、「今日の締めボタン」等と言っていますが)
実現できる手段について
ご意見、頂けると嬉しいです。
よろしくお願い致します。
No.5
- 回答日時:
> の手順で、4.のアップロードは、PHPファイルのアップロードとの事
> ですが
> ローカル環境で作成したMySQLのデータベースもアップロードすれ
> ば、
> サーバで、PHPからSQLを発行してMySQLにアクセスできると、考え
> ていたのですが、
> そうではないのでしょうか?
DBと言えど、ファイルで管理されています。
そして、DBのファイルを直接書き換えるような権限は共用サーバーでは与えられません。
> サーバでのMySQLへのアクセスは、PHPからデータを検索する事だけ
> を
> 考えていました。
> コマンドプロンプトで、直接MySQLを操作する事は、考えていません
> でした。
> それでも、サーバにphpMyAdminが必要になってくるのでしょうか?
前段の話がある以上、DBの作成・メンテナンスをする上で必須になります。
ご回答ありがとうございます。
ご指摘頂いた件に付き、サーバを管理している会社に
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は登場しないと
考えてよろしいでしょうか?
本当に、度々で恐縮ですが、よろしくお願い致します。
No.4
- 回答日時:
> 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を介することになります。
早速のご回答、誠にありがとうございます。
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が必要になってくるのでしょうか?
本当に度々で申し訳ありませんが、よろしくご教授お願い致します。
No.3
- 回答日時:
> 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は、サーバーに既に用意されている場合もあります。
(インストールメニューがあったり、付属で当たり前のようにあったり、必要なら自分で入れろよスタンスだったり様々ですが)
ご回答ありがとうございました。
サーバを管理して会社に、PHPとMySQLの使用ができる環境が整っているかの質問を
出した所、環境が整っているとの回答を得て、安心している所です。
ありがとうございました。
申し訳ないのですが、さらに質問をさせて下さい。
ご回答の中の
>PHPのプログラムはそうですが、データベースは違います。
>データベースはエクスポートして、サーバー側へインポートするという作業になります。
という意味がよく理解できませんでした。
MySQLへのデータベースアクセスは、PHPから直接にSQLを発行する事によって
できないのでしょうか?
>PHP+MySQLでよく使われるツールとしてphpMyAdminがあります。
ここに記述して頂いたphpMyAdminというツールを介して、PHPからMySQLへ
アクセスする必要があるのでしょうか?
phpMyAdminをWebで調べてみたのですが、MySQLの管理ツールの位置づけのように
捉えられ、どの場面でこのツールが必要になるのかが、よく理解できませんでした。
度々の質問で誠に恐縮なのですが、是非ともご教授、お願い致します。
No.2
- 回答日時:
【DBの選定】
Accessとほぼ同義な簡易的なデータベースという位置づけとしては
SQLiteというものがあります。
MySQL、MariaDB、PostgreSQLはどちらでも好きな方をどうぞ。
内容からすると、SQLite、またはMySQL、MariaDBがいいでしょう。
【実装】
まず、HTMLからサーバ上のDBへはアクセスできません。
サーバサイドプログラム(PHPやJavaなど)を介して行います。
どれも難しいことはありませんが、どの言語を選定したとしても、最初の環境構築でつまづくかもしれませんね。
> この時、考慮しなければいけないのが、ホームページは外部のサーバ
> にあるため、
> 必要なドライバ等のインストールを行う事はできない。
これはつまり共用サーバーということですかね。
ならば選択肢は自ずと決まってくるはずです。
何も考えなかったら、自然とPHP+MySQLではないでしょうか。
Javaで動かしたいなどの要望があるならば、別なプランによる契約を行ってサーバー構築などが必要になると思います。
ご回答ありがとうございます。
はいサーバは商用の共用サーバです。
PHP+MySQLという組み合わせをご回答として頂きましたが、
この組み合わせであれば、サーバ側には、この組み合わせでの動作環境の環境設定として、
特にインストールしなければいけない物はないと考えてよろしいでしょうか?
(Webで調べてみると、「XAMPP」なるものをインストールする必要がある
との記述に、出くわしましたが、これは、サーバ側にインストールする必要がないのでしょうか?)
ローカルのPCには、何でもインストールできます。
ローカルで作成したPHPのプログラムと、Accessから変更したMySQLのデータベースを
サーバに配置するだけで、実現できる。
と考えてよろしいでしょうか?
度々の質問で恐縮さのですが、
よろしくお願い致します。
No.1
- 回答日時:
DBについては、MySQLもしくはPostgreSQLがよいでしょう
個人的にはMySQL信者ですが、世間的には言うほど差はないかもしれません
Accessを選択するくらいならSQLiteの方がよいかもしれません
ウェブアプリの作り込みをどうしたいかによるので
PHPは一長一短ありますが、ベターな選択肢でしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
- Access(アクセス) Excel や Access のフォームの中でいわゆるインターネットの検索窓のようなものを構築できま 9 2022/05/21 12:39
- Access(アクセス) Accessで作ったデータベースをwebで活用したい 2 2023/06/03 08:49
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- サーバー ファイルサーバのデータのバックアップ 1 2023/03/15 10:30
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- サーバー Windows Server 2019 CALについて 3 2022/04/02 16:40
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
歳とったな〜〜と思ったことは?
歳とったな〜〜〜、老いたな〜〜と思った具体的な瞬間はありますか?
-
あなたの「プチ贅沢」はなんですか?
お仕事や勉強などを頑張った自分へのご褒美としてやっている「プチ贅沢」があったら教えてください。
-
あなたなりのストレス発散方法を教えてください!
自分なりのストレス発散方法はありますか?
-
【お題】斜め上を行くスキー場にありがちなこと
運営も客も一流を通り越して斜め上を行くスキー場にありがちなことを教えて下さい。
-
HTMLとデータベースの連携
HTML・CSS
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAでcommit,rollback
-
SQLiteファイルへの同時アクセ...
-
Access2010でリボン等を非表示...
-
アクセスで、OLEサーバーも...
-
階層型データベースとVSAM...
-
ディスク上のサイズの乖離が大...
-
Windows上のPostgreSQLの完全削...
-
quoteした文字列を使ったSQL文...
-
Windows版 pg_dumpの結果をログ...
-
ACCESS VBA;コマンドボックス...
-
socket のエラー
-
CSVファイルをBULK INSERTでSQL...
-
リコーimagioneo630 エラーs...
-
Query OK, 0 rows affected
-
C#で大量のデータを扱うソフト...
-
PostgreSQL バッチでバックアップ
-
shellからpostgresqlへの変数の...
-
複数カラムを跨いだCOUNTができ...
-
oracle sql*plusでの画面折り返...
-
COPYコマンドでのRedshiftへのC...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスで、OLEサーバーも...
-
ACCESSのフォームだけを起動す...
-
エクセルVBAでcommit,rollback
-
階層型データベースとVSAM...
-
ACCESSのレコードを削除しても...
-
SQLのデータベースに韓国語を登...
-
SQLiteファイルへの同時アクセ...
-
HTMLからのデータベース アクセス
-
SQLPlusでUnicode
-
SQL Serverデータベースファイル
-
データベースが開けません
-
Access2010でリボン等を非表示...
-
ディスク上のサイズの乖離が大...
-
Windows上のPostgreSQLの完全削...
-
oracle spool SJIS → UTF-8
-
Windows版 pg_dumpの結果をログ...
-
リコーimagioneo630 エラーs...
-
CSVファイルをBULK INSERTでSQL...
-
PostgreSQLについて教えてくだ...
-
ヤフーショッピングでPayPay支...
おすすめ情報