前のページ < | > 次のページ

(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に失敗しました');
}
    • mdb2-1.php
$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