タグ

mdb2に関するockeghemのブックマーク (5)

  • Manual :: 値を適切にクォートしてクエリを作成する

    クォートおよびエスケープ – 値を適切にクォートしてクエリを作成する Description MDB2 が提供する quote() メソッドを使用すると、DBMS にあわせて値をクォートし、 適切な形式でクエリを作成することができます。 このメソッドのパラメータは次の四つです (必須なのは最初のひとつだけです)。 まずクォートされる値、そしてその データ型、 値をクォートするかどうか、最後にワイルドカードをクォートするかどうかです。 データ型を指定しなかった場合は、値から推測します。 <?php // プログラムの最初で、$mdb2 という名前の // 有効な MDB2 オブジェクトを作成します... require_once 'MDB2.php'; $mdb2 =& MDB2::connect('pgsql://usr:pw@localhost/dbnam'); if (PEAR::is

  • zuzara.com » PHP5.1.4でPDOとPEAR::DB, MDB2のベンチマーク

    以前にPHP5.1.0RC1でPDOとADODB、PEAR::DBのベンチマークを取りましたが、今回は5.1.4でADODBの代わりにMDB2を加えてやってみました。zuzaraのサービスの一部をさくらの専用サーバに移行しようと考えていて、OSでFedoraCore5を選択するとPHP5.1.4になります。 PDOPEAR::DBPEAR::MDB2 MDB2はどのぐらい速いのかなぁ、期待して試したのですがいまいち? 機能もメソッド名もほとんど同じなので5系ではやはりPDOがよさげ。 なお、testテーブルは1000行のデータが入っています。 pdo.php <?php require_once('Benchmark/Timer.php'); $timer = new Benchmark_Timer(true); try { $dbh = new PDO('pgsql:host=local

  • PEAR MDB2でPHPからデータベースを操作する

    はじめに PHPにはデータベースにアクセスする方法がいくつか用意されています。そのような方法の一つに、「PEAR MDB2」があります。名前の通りPEARのライブラリとして公開されています。PEARにはMDB2のほかに「DB」や「MDB」といったライブラリがあり、現在でも利用することができます。しかしながら、これらの開発はすでに終了しており、開発者はMDB2に移行することが推奨されています。 稿では、PEAR MDB2を使って、PHPからデータベースを操作する次のような基的な方法を紹介します。 PEAR MDB2を使うとデータベース管理システム(MySQLやPostgreSQLSQLite等)に依存しないコードを書くことができる。 SQLの実行には、プリペアードステートメントを使うのが基である(例外あり)。 PHPにはPEAR MDB2の他にもデータベースへのアクセス手段が数多く用

    PEAR MDB2でPHPからデータベースを操作する
    ockeghem
    ockeghem 2009/09/09
    丁寧なまとめだが、prepare呼び出し時に型を指定するべきだと思う。綺麗な構文ではないが、仕方ない
  • PEAR :: Manual :: MDB2

    目次導入 -- 機能概要DSN -- データソース名 (Data Source Name)接続 -- データベースへの接続および接続の解除クエリ -- クエリの実行クォートおよびエスケープ -- 値を適切にクォートしてクエリを作成するデータ型 -- データ型の処理の概要結果 -- クエリ結果からのデータの取得準備と実行 -- プリペアドステートメントトランザクション -- トランザクションの処理モジュール -- モジュールの読み込みとコールManager モジュール -- データベースの構造を管理するためのモジュールReverse モジュール -- データベースの構造を管理するためのモジュールautoPrepare & autoExecute -- SQL 文を自動的に準備・実行する可搬性 -- データベースの可搬性に関する機能シーケンス -- シーケンスおよび自動採番FAQ -- よくあ

  • MDB2のprepare()の注意点 | 顎≠The Stig

    新宿の会社の仕事でPEAR::MDB2を使ってDBを更新するスクリプトを書いたら、思わぬ点ではまったので念のためメモ。 今回はDBがPostgreSQLだったのだが、prepare()→execute()を繰り返し使うスクリプトを動かしていると、稀にprepared statementの名前が衝突してスクリプトが異常終了してしまうという問題が発生。 そんでよくよく原因を調べてみると、MDB2のVer.2.41(最新のstable版)ではここが $statement_name = sprintf($this->options['statement_format'], $this->phptype, md5( time() + rand())); $statement_name = strtolower($statement_name); となってるのだが、ここの部分のMD5がたまに衝突してし

    MDB2のprepare()の注意点 | 顎≠The Stig
    ockeghem
    ockeghem 2009/09/09
    『稀にprepared statementの名前が衝突してスクリプトが異常終了してしまうという問題が発生』
  • 1