質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

477閲覧

phpとデータベースの勉強法について

raterate

総合スコア12

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2017/10/10 10:46

大変初歩的な質問となります。
phpについて、気になることがあれば、ある程度グーグル検索などで調べたいことを調べられるのですが、
いざデータベースを作成してデータベースにアクセス・登録・データの呼び出し?をしたいときに、
グーグルで検索してもデータベースプログラム言語?(phpではなくsql?mysql?)といった言語が出てきます。
phpとは少し違う記述なので少し戸惑っております。

そこで上記をできるようになるために参考書を購入しようと思うのですが、
どのような参考書がオススメでしょうか?

やりたいことは、
phpを使用してデーターベースに接続して登録やデータ更新などをしたいです。
※直接データーベースにアクセス(pypmyadmin?)して命令はしたくないです。
phpを使用してのやり方の勉強をしたいと思っております。

sqlの参考書がいいのか?
mysqlの参考書がいいのか?
phpの参考書でいいのか?

皆様が初心者だった時の勉強法・参考書を教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

php の入門書では大抵 MySQL を使用した DB の基本操作がセットとなって紹介されています。ので、php の入門書でまずは学んでみてはいかがでしょうか。
古い参考書でなければ、とりあえずはなんでも良いと思います。
環境構築で躓くケースが多いので、自身の使用する予定の環境にあったものを選ぶと楽ができます。
学習効率を高めたければ、デバッグ環境に関しても詳細な構築のための記述があると良いですが、無くてもなんとかなりますw

入門書では、セキュリティを意識したコードになっていないケースが多々あるので、入門書を一通り終えた後、セキュアなコーディングに関して追加で学習することが必須です。

実際にアプリやサイトを作ろうと思うと、設計やポリシー決めをしなくてはならないので、追加で色々な学習と経験が必要となりますが、今はそこまで意識する必要はないと思います。

投稿2017/10/10 11:56

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raterate

2017/10/11 00:14 編集

ご回答ありがとうございます。 >>セキュリティを意識したコードになっていないケースが多々ある... 検索で調べてみてもやはりおっしゃる通りセキュリティをあまり意識されていない感じでした。 とりあえず動作できるコードを作ってみる。そんな感じでした。 正直参考書を購入した場合でもセキュリティー面は一番不安です。 ひとまず駆け足にならずまずはphpをなんども繰り返し習得したいと思います。 ※te2jiさんが思う、セキュリティー面で気をつけないといけないことはどのようなことが思いつきますでしょうか?
退会済みユーザー

退会済みユーザー

2017/10/11 00:25

セキュリティ面もそうですが、学習するのに体系的な知識を最初につけることが重要です。 ネット上の情報は、即時性があったり、以外な発見をしたりするので、重要ではあるのですが、初学者が学ぶものとしては適切でありません。 私も散々苦労しました。 最初に体系だった知識を身につけるとある程度の「怪しい情報」に対するフィルタがかけられるようになるので、そういう意味でもまず入門書で一通りの事を学ばれるのが良いです。 セキュリティ関連の初学者向けの本としては徳丸さんの「体系的に学ぶ 安全なWebアプリケーションの作り方」を読むと良いです。 多くのプログラマーが読んでおり、基礎知識として網羅的です。 また、php のマニュアルは、全体をちゃんと読み込めば、かなりセキュアなコーディングができるように作ってあります。 ただし、ちゃんと読み込むための知識がそれなり以上にいるので、やはり初学者向けの本を読んでからのほうが、学習効率は高まります。 まぁ、php の入門書を終えてからの話なので、まだ少し先の話ですが^^;
raterate

2017/10/16 09:06

ご返信が大変遅くなりました。 少しづつ勉強して自分のものにしていきたいと思います。 ありがとうございました。
guest

0

特に指定がないのであればsqliteから始めるのはどうでしょう?
sqliteなら特別な設定が不要でお手軽ですし、dbといってもファイルなのでバックアップを取ったり、削除したりも簡単です。

そもそもsql文を書いたことがないのであればドットインストールの講座をさらっとなぞって、あとは自分のやりたいことを中心に調べるのがいいと思います。

SQLite

PDOというPHPでデータベースとのやりとりをうまいことやってくれるクラスを使えばよいです。
mySQLでもSQLiteでもほぼ同じように接続できます。
PDO

下記はデータを取得して表示するPHPの一例です。

PHP

1<?php 2try { 3 $pdo = new PDO('sqlite:./database.sqlite3'); 4 5 $sql="SELECT sfen FROM table WHERE status in (0,1)";//ここがSQL文 6 $stmt = $pdo->query($sql); 7 8 $rows = array(); 9 foreach ($stmt as $row) { 10 $rows[] = $row; 11 } 12 $stmt->closeCursor(); 13 14 foreach( $rows as $row){ 15 echo $row[0]."\n"; 16 } 17 18}catch (Exception $e) { 19 echo $e->getMessage().PHP_EOL; 20}

私は個人でandroidアプリを作っていて、そのサーバ側でsqliteを使っていますが特に不満はありませんが、
ユーザ管理や複数人で更新をかけるようなシステムの場合はSQLiteは弱いのでほかのDBを検討した方がよいです。

sqliteから入ってもmysqlやposgresqlなども基本的には同じ記法なのでもし移りたくなったときも知識は活きるかと思います。

投稿2017/10/10 11:06

kz23szk

総合スコア85

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raterate

2017/10/11 00:20

ご回答ありがとうございます。 >>$pdo = new PDO('sqlite:./database.sqlite3'); >>$sql="SELECT sfen FROM table WHERE status in (0,1)";//ここがSQL文 まさに自分が調べた時はこんな感じの記述でした。 記述をみた時、一瞬諦めそうになりました。 どこからがphpでどこからがデータベース言語?なのか、 php言語と組み合わさっている感じがするが、どのように組み合わせているのか、 とても複雑で理解に苦しんでおりました。 またsampleコードまで記載していただきありがとうございます。 勉強させていただきます。 ちなみにsqliteもmysqlもsqlも一緒になるのでしょうか?
guest

0

個人的には1台専用マシンを立ち上げLAMPなり適当な環境をつくることをお勧めします。
ただハードルが高いと思うならまずは無理をせずXAMPPのような統合環境でもよいでしょう。
学習に関してはPHPを先行して学習しないことにはRDBのメリットを理解できないかもしれません。
とりあえずPHPの初歩を超えたかなと自負できるようになればRDBへのチャレンジになると思います。
したがってまずはPHPの基礎の参考書をつかって学習してください
中級レベルのPHPの参考書はほぼSQLとの連携する内容のものが多いので、
テキストのレベルを上げれば次第にRDBのナンたるかを理解できると思います。

ただRDBはそうとう覚えるべきことが多いので、
PHPの練度が高まれば一旦切り離して、専用の学習が必要になると思います

投稿2017/10/10 13:00

yambejp

総合スコア114896

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

raterate

2017/10/10 23:59

ご回答ありがとうございます。 実践あるのみですね。。 ちなみにRDBというのは「リレーショナルデータベース」のことでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問