2011 年 1 月 18 日
MDB2 トランザクションをコミット
// トランザクションを開始する $mdb2->beginTransaction(); 処理 // トランザクションをコミットする $mdb2->commit();
// トランザクションを開始する $mdb2->beginTransaction(); 処理 // トランザクションをコミットする $mdb2->commit();
実に1ヶ月ぶりの更新となります。
PearのCache_Liteをまだ使ってますので
コンストラクタのオプション配列ページをメモっておきます。
http://pear.php.net/manual/ja/package.caching.cache-lite.cache-lite.cache-lite.php
いつも、パブリックな場所にしかインストールできなくて
困るなあとおもってましたが、ちゃんとやればできるんですね。
具体的にはインストールするディレクトリをwebでみれないディクレクトリ
に指定し、インストール後にindex.phpがあるので
それをアクセスできる(アクセス制限がかかっていた方がよい)ディレクトリに
手動で移動すればいいらしいです。
すごく簡単なことだったんですね。
一応go-pearのリンクを貼っておきます。
Net_UserAgent_Mobileのメソッド一覧をまとめているサイトがありましたので
メモさせて頂きます。
助かります。
携帯の画面サイズを知りたいと思い、調べていたらあたった
Net_UserAgent_Mobileなのですが
色々なことができそうです。
$userAgent = Net_UserAgent_Mobile::singleton(); //ユーザーエージェントの名前 print $userAgent->getName(); //携帯かどうかの確認 print $userAgent->isNonMobile();
参考にさせて頂きました。
http://www.phppro.jp/school/pear/vol10/1
http://www.phppro.jp/school/pear/vol11/1
http://www.phppro.jp/school/pear/vol12/1
モジュールってあるんですね、MDB2に。
プレイスホルダで、クエリを発行したかったのですが
その際に必要になりました。
executeMultipleっていうのが使いたいのですが、これで上手くいくのか・・・
$mdb2->loadModule('Extended');
毎回 $result->fetchRow(MDB2_FETCHMODE_ASSOC);
とするのは面倒なので、
$mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC);
ただ、結果の行数を取得するだけです。
$result->numRows()
ただしmdb2オブジェクトを作成するときのオプションで
result_bufferingをtrueにする必要があるみたいです。
$options = array( 'result_buffering' => true, );
http://pear.plus-server.net/package.database.mdb2.intro-fetch.html
実はoptionについてはよく知らなかったのでした。
未だにDBとかネイティブの関数をつかっている自分は
ちょっとヤバいですね。よくしらないのですが、なんとなく。
PHPだとかMySQLだとか、かなりおざなりです。おっかない。
$options = array( 'debug' => 2, 'result_buffering' => false, ); //DB接続 $mdb2 = MDB2::factory( $dsn,$options ); while($data=$result->fetchRow(MDB2_FETCHMODE_ASSOC)){ print_r($data); };