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)