こんにちは!独学プログラマー&ライターのつぶらやです。
phpを始めたばかりの頃、わからなかった事。
それは、
データベースからをデータを取得してくる方法がわからない
queryって文字をよく目にするのだけれどこれが何かわからない。
本日はそんな疑問を解決するための記事を書いていきます。
【基礎】sqlの基本とデータを取得する方法【基礎】queryとは?
【実践】queryを使ってみよう
サンプルコードをつけていますので、是非ローカル環境などで確認してみてくださいね。
sqlの基本とデータの取得方法
sqlとは、データベースのデータを操作するための言語です。
ここで言う操作とは、更新や削除の事です。
SQLの基礎についてよく理解していない方は、以下の記事を参考にしてください。

テーブルですが、以下の内容とします。
t_usersテーブル
user_id | name |
1 | 田中太郎 |
次にtest.phpを作成してみます。
test.php <?php // ↓DB接続のための記述 $new_mysqli = new mysqli('hostの名前', 'データーベースのユーザー名', 'データーベースのパスワード', '使用するデーターベース名'); // ↓変数にsql文を代入 $sql = 'select user_id,name from t_users'; ?>
new mysqli()の中身ですが、
hostの名前 → localhostなどデーターベースのユーザー名 → データーベースに作成したユーザー名
データーベースのパスワード → ユーザーを作成する時に設定したパスワード
使用するデーターベース名 → 取得したいテーブルが入っているデーターベース名
を設定してください。
そして$sqlという変数にsqlを代入します。
今回書いたsqlの意味は、
select → 取得してくるという意味です。user_id,name → 取得してくるカラム名(項目名)です。
from t_users → t_usersテーブルを参照するという事です。
となっています。
さて、準備ができました。
まだプログラムは動きませんので注意です。
【なかなかエラーが解決できない…そんな悩みを解決します!】
登録無料で始められるプログラミングスクール「侍テラコヤ」
・回答率100%のQ&A掲示板でエラーを解決!
・現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!
queryってなぜ必要なの
queryの役割って何でしょうか。
そもそもなぜ必要なのでしょうか。
queryはqueryメソッドなどと呼ばれます。
指定したSQL文をデータベースに対して発行してくれる役割を持っています。
前項でsqlを変数に入れましたが、それだけではデーターベースからデータを取得することはできません。
queryメソッドを使用して、sqlをデータベースに届けなければいけないのです。
queryを使ってみよう
お待たせいたしました!
それではqueryを使用してみましょう。
「sqlの基本とデータの取得方法」で使用したテーブルとtest.phpを使用します。
test.php <?php $new_mysqli = new mysqli('hostの名前', 'データーベースのユーザー名', 'データーベースのパスワード', '使用するデーターベース名'); $sql = 'select user_id,name from t_users'; // ↓queryに$sqlを渡す $result = $new_mysqli->query($sql); // ↓queryの結果は配列で返ってくるのでforeachで取り出す foreach($result as $val) { echo $val['user_id']. '<br />'; echo $val['name']. '<br />'; } ?>
実行結果 1 田中太郎データを取得できました!
今回はわかりやすいように1件のデータで実行してみましたが、複数データあっても同じように取り出すことが出来ます。
ポイントはqueryで取得した値は配列で返ってくる点です。
今回のqueryの実行結果は以下です。
array( [0] => array( [user_id] => [1], [user_id] => ['田中太郎'] ) )
配列で返ってくるデータはサンプルコードのようにforeachで取り出しましょう。
【何から学べばいいかわからない…そんな悩みを解決します!】
完全無料ですぐわかる「プログラミング学習プラン診断」
・適性にあわせて学習プランを診断
・完全無料で気軽に診断できる
・学習の悩みもまるっと解決
まとめ
今回はphpのqueryについてお話しました。
データーベースからデータが取得できるようになると、一気に開発の幅が広がります。
ぜひ実際試して確認してみてください。
それでは、また。