sql >> Databasteknik >  >> RDS >> Mysql

anropar kapslad lagrad procedur från php

Från PHP tittar du bara på den FÖRSTA resultatuppsättningen. Från kommandoraden spottar den helt enkelt ut alla resultatuppsättningar.

Varje lagrat proc-anrop du har ovan genererar en ny unik resultatuppsättning (olika fält möjliga etc)

För att fixa kan du gå vidare till nästa resultatuppsättning, om en sådan finns:

Använd odbc_next_result ( resource $result_id )

Alternativt, med Mysqli kan du använda dessa tre kommandon:

$result =$connection->multi_query("välj * från foo....");$result =$connection->store_result();$connection->next_result();

Med hjälp av din kod som ett exempel kan du slå in din kod som matar ut resultat i en do..while-slinga så här:

$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. CONVERT() i SQL Server

  2. Hur räknar man samma fält två gånger baserat på en boolean?

  3. Hur lagras Websphere MQ-meddelanden för att tillåta beständighet?

  4. En guide för att förstå databasskalningsmönster