Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


23.8.11.5 mysql_stmt_bind_result()

my_bool mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *bind)

説明

mysql_stmt_bind_result() は、結果セット内の出力カラムをデータバッファーおよび長さバッファーに関連付ける (つまりバインドする) ために使用します。mysql_stmt_fetch() がデータをフェッチするために呼び出されると、MySQL クライアント/サーバープロトコルはバインドされたカラムのデータを、指定されたバッファーに配置します。

mysql_stmt_fetch() を呼び出す前に、すべてのカラムがバッファーにバインドされている必要があります。bindMYSQL_BIND 構造の配列のアドレスです。クライアントライブラリは、配列に、結果セットのカラムごとに 1 つの要素が含まれることを期待します。カラムを MYSQL_BIND 構造にバインドしない場合、mysql_stmt_fetch() は単にデータフェッチを無視します。プロトコルはまとめてデータ値を返さないため、バッファーはデータ値を保持できる十分な大きさがあるべきです。

結果セットが部分的に取得されたあとでも、カラムはいつでもバインドまたは再バインドできます。新しいバインドタスクは、次に mysql_stmt_fetch() が呼び出されたときに有効になります。アプリケーションが結果セット内のカラムをバインドし、mysql_stmt_fetch() を呼び出すものとします。クライアント/サーバープロトコルはバインドされたバッファーにデータを返します。その後、アプリケーションはカラムを別の一連のバッファーにバインドするものとします。mysql_stmt_fetch() への次の呼び出し時に、プロトコルは新しくバインドされたバッファーにデータを配置します。

カラムをバインドするには、アプリケーションで mysql_stmt_bind_result() を呼び出し、値を格納する出力バッファーの型、アドレス、および長さを渡します。セクション23.8.9「C API プリペアドステートメントデータ構造」に各 MYSQL_BIND 要素のメンバーおよび出力値を受け取るために設定する方法について説明します。

戻り値

成功の場合はゼロ。エラーが発生した場合、ゼロ以外。

エラー
  • CR_UNSUPPORTED_PARAM_TYPE

    変換はサポートされていません。buffer_type 値は無効か、サポートされるいずれの型でもない可能性があります。

  • CR_OUT_OF_MEMORY

    メモリー不足。

  • CR_UNKNOWN_ERROR

    不明なエラーが発生しました。

セクション23.8.11.11「mysql_stmt_fetch()」の例を参照してください。


User Comments
Sign Up Login You must be logged in to post a comment.