弁財天先生 | 弁財天(べんざいてん)です。 SQLをWEBで使うと、ドキドキ・ワクワクよ。 今日は、SQLをWEBで使える準備をしていきましょう。 さあ、一生懸命、楽しんで、勉強をしていって下さいね。 わたし、弁財天ともに^^ |
SQLをWEBで使う方法について、最初の段階(1st STEP)を解説します。
SQLとは
SQLとはデータベースを操作するプログラム言語です。
ORACLE、MySQL、PostgresなどのRDBMSを操作できます。
データベースやテーブルを定義するDDL(データ定義文、たとえばCREATE TEBLE文など)と
データを操作するDML(データ操作文、SELECT、UPDATE、DELETEなど)があります。
SQLは多くのプログラミング言語と連携して使用できますので、WEBで使用する一つの方法として
ここでは、PHPからSQLを実行する方法について解説します。
データベースに接続する
PHPからデータベースに接続するには、PDO(PHP標準(5.1.0以降))というデータベース接続クラスを使用して接続します。
コーディング例は次の通りです。
$pdo = new PDO('mysql:host=localhost;dbname=mydb;charset=utf8','dbuser','password');
PDOクラスを生成します。
引数には、「接続先データベース名」「charset」「ユーザ名」「パスワード」を設定します。
生成されたデータベース接続情報は、
$pdo変数に格納され、
以降はこの変数を介してデータベースアクセスを行うことができます。
SQL文を作成する
データベースへの接続ができたら、
SQL文を作成して実際にデータベースへの問い合わせを行います。
SQL文を作成します。
ex.データの検索のためSELECT文を作成する
- prepare文でSQLを定義する。
2.execute文で、SQLを実行する。
3.fetch文でSELECTした結果を取り出す。
実際のソースコードは次の通りです。
$pdo = new PDO('mysql:host=localhost;dbname=mydb;charset=utf8','dbuser','P@ssw0rd');
$qry = $pdo->prepare('select name from usertable');
$qry->execute();
foreach($qry->fetchAll() as $q){
// 取り出したデータの処理
}
$pdoインスタンスに対して、prepareメソッドで、
問い合わせるSQL文を定義して$qry変数に設定します。
SQL文の定義ができたら
$qry変数に対してexecuteメソッドでSQLを実行します。
SQLの実行結果は、この例ではSELECTした結果データを$qryが受け取るため、
fetch(またはfetchAll)メソッドによってデータを取り出します。
foreach文でループ処理を行うことで取り出したデータを順次処理できます。
取得したデータを出力する。
SQLを実行して取得した結果を出力してみます。
出力の仕方としては、前段のソースコードのforeach文の中にfetchで取り出したデータを
PHP変数に置きかえて格納していく方法で記述します。
実際のソースコードは次の通りです。
<table>
<tbody>
<?php
foreach($qry->fetchAll() as $row){
echo '<tr>';
echo '<td>', $row['user_name'], '</td>';
echo '<td>', $row['address'], '</td>';
echo '<td>', $row['tel'], '</td>';
echo '</tr>';
}
?>
</tbody>
</table>
SELECT文で取得したデータ、ex) user_name、address、tel を、テーブルデータとして表示する処理をしています。 要素の中に、
PHP文のforeachループの中でfetchで取得した1レコードずつを
$row変数に格納しています。
$row変数には取得データが配列で格納されていますので、
取得したい項目を$row[]で指定して取り出します。
あとは <td>要素で、取得データの変数をかこい、
テーブルにSQLの全取得データを表示します。
以上
![]() 弁財天先生 | 本日のクラスはいかがでしたか? 繋がりました? それともダメだった? 大丈夫、やろうとしたのであれば、すばらしいよ。 まず、接続しないと話にならないので、 次回は、他の接続方法などをお話ししますね。 楽しみにね。 |


コメント