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
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.