sql >> Database >  >> RDS >> Mysql

aanroepen van geneste opgeslagen procedure vanuit php

Vanuit PHP kijk je alleen naar de EERSTE resultatenset. Vanaf de opdrachtregel spuugt het eenvoudig alle resultatensets uit.

Elke opgeslagen proc-aanroep die je hierboven hebt, genereert een nieuwe unieke resultatenset (verschillende velden mogelijk, enz.)

Om dit op te lossen, kunt u naar de volgende resultatenset gaan, als die bestaat:

Gebruik odbc_next_result ( resource $result_id )

Als alternatief kunt u met Mysqli deze drie opdrachten gebruiken:

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

Als u uw code als voorbeeld gebruikt, kunt u uw code die resultaten oplevert, als volgt in een do..while-lus plaatsen:

$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. Waarom EF het genereren van een subquery voor een eenvoudige query?

  2. Maak int8[]-array in PostgreSQL C-functie

  3. Fout krijgen tijdens het maken van een weergave in Oracle DB

  4. voeg meerdere velden in met behulp van foreach-lus