sql >> データベース >  >> RDS >> Mysql

phpからネストされたストアドプロシージャを呼び出す

    PHPからは、最初の結果セットのみが表示されます。コマンドラインから、すべての結果セットを吐き出すだけです。

    上記のストアドプロシージャ呼び出しごとに、新しい一意の結果セットが生成されます(さまざまなフィールドが可能など)

    修正するには、次の結果セット(存在する場合)に進むことができます:

    odbc_next_result ( resource $result_id )を使用します

    または、Mysqliを使用して、次の3つのコマンドを使用できます。

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

    コードを例として使用すると、結果を出力するコードを次のようにdo..whileループ内にラップできます。

    $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. 非同期呼び出しをまとめて同期的に動作させるにはどうすればよいですか?

    2. 多くのJOINを使用してクエリのパフォーマンスを向上させる方法

    3. OracleTNS-ODBCアドミニストレータを介して接続できません

    4. mysql / fuzzy検索のためのレーベンシュタイン距離の実装?