my_bool mysql_bind_result(MYSQL_STMT *stmt,
MYSQL_BIND *bind)
説明
mysql_bind_result()
は、結果セットのカラムをデータバッファおよび長さバッファに関連付ける(バインドする)ために使用します。mysql_fetch()
を呼び出してデータを取得する場合、MySQL
クライアント/サーバプロトコルによって、バインドされたカラムのデータが指定されたバッファに書き込まれます。
注意: mysql_fetch()
を呼び出す前に、すべてのカラムをバッファにバインドする必要があります。bind
は、MYSQL_BIND
構造体の配列のアドレスです。クライアントライブラリは、この配列に、結果セットの各カラムに対応した要素が含まれていると仮定します。要素が含まれていない場合、mysql_fetch()
は単にデータを取得しません。また、クライアント/サーバプロトコルはデータの値を切り分けて返すことはしないので、バッファのサイズはデータ値を格納できるだけの十分な大きさである必要があります。
カラムは、任意の時点で、結果セットの一部だけが取得された後でも、バインドまたは再バインドすることができます。新しくバインドした場合、それが有効になるのは、次に
mysql_fetch()
を呼び出したときです。たとえば、アプリケーションが結果セットのカラムをバインドして
mysql_fetch()
を呼び出すとします。クライアント/サーバプロトコルは、バインドされたバッファにデータを返します。次にアプリケーションがカラムを別のバッファにバインドするとします。プロトコルは、次に
mysql_fetch()
が呼び出されるまで、新しくバインドされたバッファにデータを書き込みません。
カラムをバインドするには、アプリケーションは
mysql_bind_result()
を呼び出して、型、アドレス、および長さバッファのアドレスを渡します。設定する必要がある
MYSQL_BIND
の各要素のメンバについては、項11.1.5. 「C API のプリペアドステートメントのデータ型」
を参照してください。
戻り値
正常にバインドできた場合は 0。エラーが発生した場合は 0 以外。
エラー
CR_NO_PREPARE_STMT
プリコンパイルされたステートメントが存在しない。
CR_UNSUPPORTED_PARAM_TYPE
変換がサポートされていない。buffer_type
の値が正しくないか、またはサポートされていない型である可能性がある。
CR_OUT_OF_MEMORY
メモリが不足していた。
CR_UNKNOWN_ERROR
不明なエラーが発生した。
例
mysql_bind_result()
の使用方法については、項11.1.7.13. 「mysql_fetch()
」
の「例」を参照してください。
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.