sql >> Databáze >  >> RDS >> Mysql

Tento výsledek je pouze dopředná sada výsledků, volání rewind() po pohybu vpřed není podporováno - Zend

Obdržíte tuto Exception protože toto je očekávané chování. Zend používá CHOP získat jeho Zend\Db\ResultSet\Resultset který je vrácen Zend\Db\TableGateway\TableGateway . Sady výsledků PDO používají ve výchozím nastavení kurzor pouze vpřed, což znamená, že sadu můžete procházet pouze jednou.

Další informace o kurzorech najdete na Wikipedii a toto článek.

Jako Zend\Db\ResultSet\Resultset implementuje PHP Iterator pole sady můžete extrahovat pomocí Zend\Db\ResultSet\Resultset:toArray() nebo pomocí iterator_to_array() funkce. Buďte opatrní při používání této funkce na potenciálně velkých souborech dat! Jednou z nejlepších věcí na kurzorech je právě to, že se vyhýbají vnášení všeho najednou, v případě, že je datová sada příliš velká, takže jsou chvíle, kdy je nebudete chtít dát všechno do pole najednou.



  1. O mysql kurzoru a iterátoru

  2. Problém Java + Mysql UTF8

  3. Jak implementovat značkovací systém podobný SO v php/mysql?

  4. SQL Server DELETE – odstranění jednoho nebo více řádků z tabulky s mírně pokročilými scénáři