什么是ZF中的mysql_fetch_assoc等价物?

时间:2011-10-25 11:45:35

标签: php zend-framework

ZF中的mysql_fetch_assoc等价物是什么?

3 个答案:

答案 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 );