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

volání vnořené uložené procedury z php

Z PHP se díváte pouze na PRVNÍ sadu výsledků. Z příkazového řádku jednoduše vyplivne všechny sady výsledků.

Každé uložené volání procesu, které máte výše, generuje novou jedinečnou sadu výsledků (možná různá pole atd.)

Chcete-li to opravit, můžete přejít na další sadu výsledků, pokud taková existuje:

Použijte odbc_next_result ( resource $result_id )

Alternativně můžete pomocí Mysqli použít tyto tři příkazy:

$result =$connection->multi_query("select * from foo...");$result =$connection->store_result();$connection->next_result();

Pomocí svého kódu jako příkladu můžete zabalit svůj kód, který vydává výsledky, do smyčky do..while takto:

$result= $mysqli->multi_query("SELECT first_id,second_id from pair_find");

do {
  $result = $mysqli->store_result();

  while($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
  {
     print_r($row);
  }
} while ($mysqli->next_result());

http://php.net/manual/en/function.odbc -next-result.php

http://php.net/manual/en/mysqli.next-result .php




  1. Dotaz GTFS pro zobrazení všech časů odjezdů a příjezdů mezi dvěma názvy zastávek

  2. Připojte jeden řádek z tabulky v MySQL

  3. Jak vybrat konkrétního zákazníka?

  4. Alternativní řešení DCount a DLookup s MS SQL Server Backend