Pear MDB2 デ-タベ-ス操作

Pear MDB2 デ-タベ-ス操作ファイル接続部作成

MDB2 を利用して各デ-タ、名前、メ-ルアドレス、郵便番号、住所、コメント をあらかじめ用意しておき、それをデ-タベ-スに書込むことにします。
ファイル内容は、 63Pear Village のトップの左サイドナビ
「Pear MDB2 デ-タベ-ス操作」 の中の
Pear MDB2 デ-タベ-ス操作 PHP ファイル
を見てください。

初期設定

これから説明するファイルは純粋なPHPファイルなので、先頭で charset=utf-8 宣言をしてください。
header('Content-type: text/html; charset=utf-8');
この宣言がないと日本語表示が文字化けすることがあります。
次に、
require_once 'MDB2.php';
で、Pear::MDB2 を読込みます。
なお、ドライバ PEAR::MDB2_Driver_mysql は特に設定は必要ありません。

各デ-タ設定

各デ-タ
名前、メ-ルアドレス、郵便番号、住所、コメント
をあらかじめ用意します。
$_POST["uname"]
  = '山田太郎';
$_POST["email"]
  = 'abcdef@yahoo.co.jp';
$_POST["postnum"]
  = '2160001';
$_POST["addre"]
  = '神奈川県川崎市宮前区';
$_POST["come"]
  = 'はじめまして';
本来ですとこれらのデ-タはフォ-ムから $_POST を経由して送られてくるのですが、 今回は、フォ-ムは省略して簡略化しています。
あくまでもフォ-ムから $_POST を取得したことを想定していますので、 htmlspecialchars 関数を使って各デ-タは、フォ-ムの中で先に悪意ある入力を無害化ための処理 すなわち「HTMLの特殊文字」をエスケープしているものとします。 このあと、prepare メソッドを実行し「SQLの特殊文字」をエスケープします。

XAMPP MySQL データベース情報設定

● $sqltype SQL 型設定
'mysql' と設定します。 これは作法です。
2016/4/4日 以下2行追加。
XAMPP 5.6.19 版以降はドライバ PEAR::MDB2_Driver_mysql がインスト-ルできず、 PEAR::MDB2_Driver_mysqli を使用するため 'mysqli' と設定します。
● $user ユ-ザ名
XAMPP のデフォルト値は 'root' になっています。
● $server サ-バ名
XAMPP のデフォルト値は 'localhost' になっています。
● $password パスワ-ド
XAMPP のデフォルト値としては設定されていませんので、
'' とします。
もし、パスワ-ドを例えば、abcd とされているならば
$password = 'abcd'
とします。
● $dbname 接続するデータベース名
MDB2 デ-タベ-ス操作 XAMPP 準備
XAMPP MySQL にデータベースを作成
でデータベース名を phplibs としましたので、
$dbname = 'phplibs';
とします。

レンタルサ-バ データベース情報設定

ここでの設定は、レンタルサ-バを利用するときのもので、 XAMPP MySQL データベース情報設定の内容を以下の情報に置き換えて使用します。
ここでは、レンタルサ-バとしてミニバ-ドを例とします。
● $sqltype SQL 型設定
'mysql' と設定します。 これは作法です。
● $user ユ-ザ名
レンタルサーバーのミニバードトップペ-ジ
http://www.minibird.jp/
からログインします。
もちろん、加入したときに発行される、ID と PASSWORDが必要です。
ログインすると、サーバーアカウント一覧が見えますので、 サーバー管理ツール にログインします。
左のナビに、データベース設定 がありますのでこれをクリックします。
MyQSL 一覧が見えますので、このなかの MyQSL ユ-ザ名、例えば、 kilowave_yasu を $user に設定します。
$user = 'kilowave_yasu'
● $server サ-バ名
サーバー管理ツール→データベース設定→ MyQSL 一覧 が見えますので、 このなかの MySQL 情報、MySQL ホスト名、例えば、 mysql5.minibird.netowl.jp を $server に設定します。
$server = 'mysql5.minibird.netowl.jp';
● $password パスワ-ド
サーバー管理ツール→データベース設定→ MySQL ユーザー追加 で決めた データベースパスワード 例えば、abcdefg を $password に設定します。
$password = 'abcdefg'
とします。
● $dbname 接続するデータベース名
サーバー管理ツール→データベース設定→ MyQSL 一覧 が見えますので、 データベース名、例えば、 kilowave_phplibs を $dbname に設定します。
$dbname = 'kilowave_phplibs';
とします。

データベースに接続

connect メソッドを使用してデータベースに接続します。
$mdb2 = MDB2::connect
($sqltype.'://'.$user.':'
.$password.'@'.$server.'/'
.$dbname.'?charset=utf8');
connect( ) の内容を平たく書くと、
$mdb2 = MDB2::connect
(mysql://root:@localhost/phplibs?charset=utf8)
となり、connect インスタンスが作成されデータベースに接続します。
ちなみに、最後に指定されている ?charset=utf8 は、
$mdb2->setCharset("utf8");
と同じで文字コード指定をしています。
これがないと MySQL 文字化けが起こるときがあるようです。
isError メソッドを使用してデータベース接続の成功を確認します。
失敗すると true となり
die("接続に失敗しました")
が発生します。
ちなみに、PHP die 関数は、 メッセージを出力し、現在のスクリプトを終了させます。
if(MDB2::isError($mdb2))
  die("接続に失敗しました");

このあと、SQL 文を作成してデ-タベ-スに挿入するのですが、一旦ここで区切ります。


Pear MDB2 デ-タベ-ス操作ファイル挿入部作成 に続く
Pear MDB2 デ-タベ-ス操作概要 に戻る

63Pear Village に戻る