Do PHP você está olhando apenas para o PRIMEIRO conjunto de resultados. A partir da linha de comando, ele simplesmente exibe todos os conjuntos de resultados.
Cada chamada de proc armazenada acima está gerando um novo conjunto de resultados exclusivo (diferentes campos possíveis, etc.)
Para corrigir, você pode passar para o próximo conjunto de resultados, se houver:
Use
odbc_next_result ( resource $result_id )
Alternativamente, usando o Mysqli, você pode usar estes três comandos:
$resultado =$conexão->multi_query("selecione * de foo....");$resultado =$conexão->store_result();$conexão->next_result();
Usando seu código como exemplo, você pode encapsular seu código que está gerando resultados dentro de um loop do..while como este:
$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