fetchRowとfetchAllの違い

fetchRow、fetchAllどちらもDBから行を取得するメソッドです。

相違点は以下

fetchRow
 1. 単一の行を取得
 2. 返り値の型は、Zend_Db_Table_Row
 3. 0件取得の場合は、nullを返却

fetchAll
 1. 複数の行を取得
 2. 返り値の型は、Zend_Db_Table_Rowset
 3. 0件取得の場合は、Zend_Db_Table_Rowsetを返却

注目するところは、3です。
fetchAllは、0件でもZend_Db_Table_Rowsetを返却します。
なので、取得の有無で、nullかどうかでは判定できません。

私はどちらもnullが返ってくると勘違いしていたので、ミスりました。

fetchRowとfetchAllの違い