うわべのうわべ 3.サイト作り PHPからMySQLへ接続するには

PHPからMySQLへ接続するには

HTMLとPHPとMySQLの接続

HTML、PHP、MySQLの関係は次のようなイメージとなります。

1


■DB内のデータをPHPで取り出す方法

■テスト環境の準備

どのように連携していくか見ていきましょう。
前提の環境を下記とします。

?DB環境
 ・DB名称:testdb1
 ・テーブル名:testtable
 ・DBユーザ名:root
 ・DBパスワード:admin
 ・データ構造
2

?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
を入力しアクセスしましょう。

すると、次のような画面が表示されます。
3

この表示自体は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]

Related Post