my_bool mysql_stmt_bind_param(MYSQL_STMT *stmt,
MYSQL_BIND *bind)
説明
mysql_stmt_bind_result()
は、
結果セット中のアウトプットカラムをデータバッファーおよび長さバッファーに添付(即ち結束)するのに使います。mysql_stmt_fetch()
がデータをフェッチするために呼び出されたるとき、MySQLクライアント/サーバプロトコルはボンドカラムのためのデータを規定されたバッファーの中に置きます。
全てのカラムは、mysql_stmt_fetch()
を呼び出す前に、バッファーと結束されなければなりません。この場合、bind
はMYSQL_BIND
構造のアレーのアドレスです。クライアントライブラリは結果セットの各コラムに対して、1つの要素が含まれることを期待します。カラムをMYSQL_BIND
構造に結びつけないと、mysql_stmt_fetch()
は簡単にデータフェッチを怠ります。プロトコルはチャンクでデータ値を返さないので、バッファをデータ値が持てる十分な大きさにべきです。
結果セットが一部複製された後でも、カラムは一回で結束または再結束することができます。新しい結束は、次にmysql_stmt_fetch()
が呼び出されたとき有効となります。アプリケーションがカラムを結果セットの中に結束し、mysql_stmt_fetch()
を呼び出すと仮定する。クライアント/サーバ・プロトコルは結束されたバッファの中にデータを戻します。その後、アプリケーションがバッファの異なったセットにカラムをバインドすると考えてください。mysql_stmt_fetch()
への次のコールが起こるとき、プロトコルは新たにしばられたバッファの中にデータを置きます。
カラムをしばるため、アプリケーションが
mysql_stmt_bind_result()
を呼び出し、それの中に値を記憶すべきアウトプットバッファのタイプ、アドレス及び長さを渡します。項23.2.5. 「準備されたC APIステートメントデータタイプ」は各MYSQL_BIND
エレメントのメンバーおよび値をを受け取るためセットすべき方法を説明します。
戻り値
結束作業が成功していたらゼロ。エラーが起こった場合、ゼロ以外。
エラー
CR_UNSUPPORTED_PARAM_TYPE
変換はサポートされません。buffer_type
値は違法であるか、サポートされているタイプの一つでない可能性があります。
CR_OUT_OF_MEMORY
メモリ不足。
CR_UNKNOWN_ERROR
未知のエラーが起こりました。
例
mysql_stmt_bind_result()
の使用には、項23.2.7.11. 「mysql_stmt_fetch()
」から例を参照してください。