MYSQL_RES *mysql_use_result(MYSQL *mysql)
      
説明
        データ(SELECT、
        SHOW、
        DESCRIBE、EXPLAIN)をうまく復元する全てのクエリーのために、mysql_store_resultもしくはmysql_use_result()を呼び出さなければなりません。
      
        mysql_use_result()は結果セットの複製を先導しますが、mysql_store_result()がするように、実際にクライアントの中に読み取りません。にもかかわらず、mysql_fetch_row()に対する呼び出しを行うことによって、各列を個別に復元しなければなりません。これは、サーバから直接クエリーの結果を、それを一時テーブルまたはローカルバッファーに記憶させることなく読み取ります。これは幾らか高速で、mysql_store_result()より少ないメモリーを使います。.クライアントは現在の列およびmax_allowed_packetバイトに成長した通信バッファーだけにメモリーを割り当てます。
      
        一方、クライアント側にある各列に対して多くの処理を行う場合、もしくはユーザーがアウトプットを^S(スクロール停止)をタイプしてもよいスクリーンに送る場合、mysql_use_result()を使用すべきではありません。これはサーバを拘束し、他のスレッドが、そこからデータがフェッチされているテーブルをアップデートするのを阻止します。
      
        mysql_use_result()を使うとき、NULL値が戻されるまで、mysql_fetch_row()を実行しなければなりません。C
        APIは、これを行うのを忘れた場合、エラーCommands
        out of sync; you can't run this command
        nowを附与します。
      
        mysql_data_seek()、mysql_row_seek()、mysql_row_tell()、mysql_num_rows()もしくはmysql_affected_rows()をmysql_use_result()から戻された結果と一緒に使ってはなりません。また、mysql_use_result()が終了するまで、他のクエリーを発行してもなりません。(しかしながら、すべての列をフェッチした後、mysql_num_rows()はフェッチした行の数を正確に戻します。)
      
        結果セットが必要となってから、mysql_free_result()を呼び出さなければなりません。
      
        libmysqld埋込サーバを使うとき、mysql_free_result()が呼び出されるまで、メモリーの使用が戻された各列と共に徐々に増加するので、メモリー利益が本質的に失われます。
      
戻り値
        MYSQL_RES結果構造。NULLエラーが起こった場合。
      
エラー
        mysql_store_result()は成功すると、mysql_error()とmysql_errno()をリセットします。
      
            CR_COMMANDS_OUT_OF_SYNC
          
コマンドが妥当でないオーダーで実行されました。
            CR_OUT_OF_MEMORY
          
メモリ不足。
            CR_SERVER_GONE_ERROR
          
MySQLサーバが立ち去りました。
            CR_SERVER_LOST
          
サーバへの接続がクエリー中に失われました。
            CR_UNKNOWN_ERROR
          
未知のエラーが起こりました。

