ZF中的mysql_fetch_assoc等价物是什么?
答案 0 :(得分:5)
你有几种可能性
使用普通数据库适配器reference:
$db->setFetchMode(Zend_Db::FETCH_ASSOC);
$result = $db->fetchRow('SELECT * FROM bugs WHERE bug_id = 2');
// also works
$result = $db->fetchRow('SELECT * FROM bugs WHERE bug_id = 2', array(), Zend_Db::FETCH_ASSOC);
// note that $result is a single object, not an array of objects
echo $result['bug_description'];
使用表类reference
$table = new Bugs();
$select = $table->select()->where('bug_status = ?', 'NEW')
->order('bug_id');
$row = $table->fetchRow($select);
$rowArray = $row->toArray();
答案 1 :(得分:3)
尝试:
$table->fetchRow($select)->toArray();
答案 2 :(得分:0)
如果您已初始化数据库连接,则可以通过
进行请求 $db = Zend_Db_Table::getDefaultAdapter();
现在,您可以使用数据库适配器查询结果,并使用mysql_fetch_assoc
使用Zend_Select
$select = $db->select()
->from('table')
->where('id = ?', 5);
// mysql_fetch_assoc
$row = $db->fetchRow($select);
print_r($row);
使用手动SQL查询
// mysql_fetch_assoc
$row = $db->fetchRow("SELECT * FROM table WHERE id = 5");
print_r($row);
获取多行
使用fetchAll方法,它将返回带有结果的assoc数组。
$db->fetchAll( "SELECT * FROM table ORDER BY id DESC );