破棄されたブログ

このブログは破棄されました。

PEAR::DB の DB_OK について

PEAR::DB で更新系クエリが成功した際に、int の 1 が返ってくるんで、なんでかと思ったら、
更新系クエリ成功時の戻り値 DB_OK はオブジェクトではなくて定数だったというオチ。
DB_OK は DB.php の 47 行目あたりで定義されてる。(バージョン 1.7.13)

/**
 * The code returned by many methods upon success
 */
define('DB_OK', 1);

マニュアルで、DB_result とか DB_Error とかと並んで書かれてるんで、DB_OK ってオブジェクトがあるもんだと勘違いしてた。
よくよくみれば、他の二つと違って DB_OK だけ太字だったり。

Return value
mixed - 結果を返すクエリ (例えば SELECT クエリなど) の場合は新しい DB_result オブジェクト、 データを操作するクエリ (例えば INSERT クエリなど) の場合は DB_OK、 あるいは失敗した場合には DB_Error オブジェクトを返します。

http://pear.php.net/manual/ja/package.database.db.db-common.execute.php

PEAR::DB なんて使ってないで PEAR::MDB2 なり PDO なりに乗り換えるべきなんだろうけどね。
つうか、きちんと PHP をだな。最近 JaveScript みたいに即時実行関数のサンプルコードとかみかけるし、
PHP カンファとかに遊びにいっては見ているものの、最新の PHP 事情がどうなってんのかさっぱりわかんない。

広告を非表示にする