(9) PEAR MDB2を使ってみる
- こちらが分かり良いです。
- 参考ページ:ttp://codezine.jp/article/detail/2480?p=2
- ここでは、簡易的な操作手順のみ記述しています。
- PEAR MDB2を使った接続
- 次のようにMySQLに接続します。MDB2::connectの引数は、「'mysqli://ユーザ名:パスワード@ホスト/データベース名?charset=文字コード'」です(接続に失敗するとエラーが表示される)。
require_once 'MDB2.php';#ライブラリのロード
$db=MDB2::connect('mysqli://test:pass@localhost/mydb?charset=utf8');
if(PEAR::isError($db)) die("<p>{$db->getMessage()}</p>");#エラー処理
- エラー用スクリプト
- いちいちエラーをチェックするのは面倒なので、エラーハンドラ(エラーが発生したときに実行される関数)を用意しておく。
- mdb2init.php
#エラーが発生したときに実行される関数
function errorHandler($error){
echo "<p>エラー発生 {$error->getMessage()}</p>";
}
#errorHandlerを使うように設定
PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, 'errorHandler');
- レコードの変更(insert/update/delete):execメソッド
- 結果の返らないクエリはexecメソッドを使います。
変数=& $mdb2->exec (SQL文)
- 例)テーブルにレコードを挿入
- 「insert into sometable values (1, 'a')」というSQLを実行してテーブルにレコードを挿入する。失敗したときはメッセージを表示して終了する。
$result =& $mdb2->exec("insert into sometable values (1, 'a')");
if (PEAR::isError($result)) {
exic('SQLに失敗しました');
}
$db->exec('TRUNCATE TABLE books');
$db->exec("INSERT INTO books VALUES (1,'The Art of Computer Programming 1',
'アスキー',2004,10290)");
$db->exec("INSERT INTO books VALUES (2,'フリーソフトウェアと自由な社会',
'アスキー',2003,3360)");
$db->exec("INSERT INTO books VALUES (3,'計算機プログラムの構造と解釈',
'ピアソンエデュケーション',2000,4830)");
$db->exec("INSERT INTO books VALUES (4,'プログラミング作法','アスキー',
2000,2940)");
$db->exec("INSERT INTO books (id,title,publisher,year,price) VALUES
(5,'Webアプリケーション構築入門','森北出版',2007,3360)");
- レコードの読み込み(select):queryメソッド
変数 =& $mdb2->query(SQL文)
- レコードを1件ずつ読み込み(select):fetchRowメソッド
$data =& $res->fetchRow();
※$data, $res :変数
- while文と一緒に用いて1件ずつレコードを処理する
while ($data = $res->fetchRow()){
個々のレコードに対する処理
}
※ XAMPP 1.7.7 [PHP: 5.3.8] での設定項目です。
※ 参考サイト:ttp://codezine.jp/article/detail/2480
最終更新:2012年01月18日 12:35