acid: mehrere recordsets auswerten (ODBC - PHP)

Beitrag lesen

hallo,

ich führe über ODBC eine gespeicherte prozedur auf einem MS-SQL server aus. diese prozedur liefert n recordsets (mehrere - beliebig viele jedoch mindestens eins)

dazu fällt mir jetzt spontan eine do-while schleife ein. in den funktionsbeschreibungen zur neuen mysql erweiterung findet man ein beispiel dazu in der php-documentation.

die odbc-dokumentation ist allerdings etwas dürftig mit beispielen besetzt.

das einzigste was ich finde ist odbc_next_result()
das liefert aber nur TRUE|FALSE - ob es mehrere recordsets gibt.

ich finde keine möglichkeit das nächste recordset einzulesen und auszuwerten.

die mysql-variante:
$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query))
{
   do
   {
       /* store first result set */
       if ($result = $mysqli->store_result())
       {
           while ($row = $result->fetch_row())
           {
               printf("%s\n", $row[0]);
           }
           $result->close();
       }
       /* print divider */
       if ($mysqli->more_results())
       {
           printf("-----------------\n");
       }
   }while ($mysqli->next_result());
}

----------------------------------------------------------------

odbc_next_result() ist mit $mysqli->more_results() gleichzusetzen. aber mir fehlt die $mysqli->next_result() für odbc.

hat jemand eine idee?
oder hab ich hier was übersehen...

vielen dank