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 デ-タベ-ス操作概要 に戻る