« Ethna で SQLite の試み | メイン | GitHub で、アプリケーションを公開 No.1 »

ethna

Ethna_AppObjectのバグ???

 Ethna で SQLite の くだりで偶然発見。
Ethna_AppObject::searchId()
636行目

	$row = $this->my_db_ro->fetchRow($r, DB_FETCHMODE_ASSOC);
650行目
	$row = $this->my_db_ro->fetchRow($r, DB_FETCHMODE_ASSOC);

Ethna_AppObject::searchProp()
692行目
	$row = $this->my_db_ro->fetchRow($r, DB_FETCHMODE_ASSOC);
706行目
	$row = $this->my_db_ro->fetchRow($r, DB_FETCHMODE_ASSOC);

Ethna_AppObject::_setPropByDB()
793行目
	$this->prop = $this->my_db_ro->fetchRow($r, DB_FETCHMODE_ASSOC);

正しくは... ▼

 全て直前の結果セット

	$r =& $this->my_db_ro->query($sql);
から fetchRow(フェッチモード(省略可),レコード番号(省略可)) なので
	$r->fetchRow( DB_FETCHMODE_ASSOC );
が正しいのでは。

 不思議なことに、簡単な単体のプログラムでは、エラー

PHP Fatal error:  Call to undefined method DB_mysql::fetchRow()
が出力されるが、ethnaフレームワーク内ではエラーとならずデータ取得できる。

確認環境
 Ethna-2.5.0
 Smarty Version 2.6.26
 PHP Version 5.3.3
 CentOS release 6.4 (Final)

トラックバック

このエントリーのトラックバックURL:
https://www.remix.asia/cgi/mt/mt-tb.cgi/7014

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)