HTMLとPHPとMySQLの接続
HTML、PHP、MySQLの関係は次のようなイメージとなります。
■DB内のデータをPHPで取り出す方法
■テスト環境の準備
どのように連携していくか見ていきましょう。
前提の環境を下記とします。
・DB名称:testdb1
・テーブル名:testtable
・DBユーザ名:root
・DBパスワード:admin
・データ構造
?HTMLファイル
・c:\test\dbselect.html
?PHPファイル
・c:\test\dbselect.php
※php.exeはc:phpフォルダとします
とします。
では、HTMLとPHPの記述内容を見ていきましょう。
■dbselect.html
<html>
<head>
<meta content=”ja” http-equiv=”Content-Language”>
<meta content=”text/html; charset=utf-8″ http-equiv=”Content-Type”>
<title>dbselect</title>
</head>
<body>
<form action=”dbselect.php” method=”post”>
<input name=”Submit1″ type=”submit” value=”submit” />
</form>
</body>
</html>
■dbselect.php
<?php
//※解説?
$mysqli = new mysqli(‘localhost’,’root’,’admin’,’testdb1′);
//※解説?
if ($mysqli->connect_error){
print(“接続失敗:” . $mysqli->connect_error);
exit();
}else
//※解説?
{echo ‘seiko’;
}
//※解説?
$sql2 = “select * from testdb1.testtable;”;
//※解説?
$stmt = $mysqli->query($sql2);
//※解説?
while ($hai = $stmt->fetch_array(MYSQLI_ASSOC)) {
//※解説?
$result = $hai[‘column1’];
}
//※解説?
$mysqli->close();
//※解説?
print($result);
?>
■テスト開始
それぞれのファイルが準備できましたら、localhostサーバの確立をしましょう。
コマンドプロンプトを開き、
・cd /d c:\php
・php -S localhost:8000 -t c:\test
を実行してください。
コマンドプロンプト上に「Press Ctrl-C to quit.」が表示されたら確立成功です。
次に、Webブラウザを開き、アドレスバーに
http://localhost:8000/dbselect.html
を入力しアクセスしましょう。
すると、次のような画面が表示されます。
この表示自体はdbselect.htmlで行っています。
また、Submitボタンをクリックすると、
「seikoりんご」
が表示されると思います。このときの画面表示はdbselect.phpで行っています。
これでDBの中身の表示が成功しました。
■解説(PHP構文、Mysqli等)
■dbselect.html
HTMLでPHPを呼び出すには、Formが一般的です。Formで囲まれたinput(submit)ボタンをクリックしたとき、そのFormで定義したファイルを呼び出します。
<form action=”dbselect.php” method=”post”>
<input name=”Submit1″ type=”submit” value=”submit” />
</form>
■dbselect.php
・//※解説?
DBに接続するための環境変数を定義しています。各変数の意味は次のようになります。
$mysqli = new mysqli(サーバ名,DBユーザ名,DBパスワード,DB名);
・//※解説?
DB接続が失敗したときの処理です。printで失敗時に表示する言葉を定義しています。
・//※解説?
DB接続が成功した場合の処理内容です。ここでは成功の確認のためにseikoと表示するようにしています。
・//※解説?
SQL構文をPHPで使えるように変数($sql2)に代入します。今回のSQL構文はDB内データを全て取得する構文としています。
$sql2 = “select * from testdb1.testtable;”;
・//※解説?
SQL構文($sql2)を実行した結果を変数($stmt)に代入します。
$stmt = $mysqli->query($sql2);
・//※解説?
DBの取得結果を配列形式で取り出し変数($hai)へ代入し、値がなくなるまでWhile内処理を繰り返します。
・//※解説?
配列($hai)のcolumn1のデータを取り出し変数($result)に代入します。
$result = $hai[‘column1’];
・//※解説?
DBとの接続を切り離します。これは必ず実行してください。
・//※解説?
DBから取り出し、while内の処理によって取り出した変数($result)を表示します。
それぞれの意味は上記のようになります。
HTMLでは、PHPを呼び出すためのボタン等のイベントを記述します。
PHPでは、MySQLとHTMLをつなぐために、それぞれで使用する言語を記述し、また、それぞれで受け取れるデータ形式へ変形していきます。
PHPは各言語をつなぐ役割をしていますので、それぞれの変数が何処に使われるものかを理解し、適切に設定していくことがポイントです。
[adcode3]
■まとめ
一、HTMLとMySQLをつなぐにはPHPでデータ成型する
二、PHPでMySQLをつなげたら、$mysqli->close();でかならずセッションを木切断する
三、MySQLとの接続はPHPの$mysqliコマンドを使用する
[adcode0]