my_bool mysql_bind_param(MYSQL_STMT *stmt, MYSQL_BIND
*bind)
説明
mysql_bind_param()
は、mysql_prepare()
に渡された SQL
ステートメントに含まれるパラメータマーカーのデータをバインドするために使用します。データは
MYSQL_BIND
構造体を使用して渡します。bind
は、MYSQL_BIND
構造体の配列のアドレスです。クライアントライブラリは、この配列に、クエリに含まれる各
‘?
’
パラメータに対応する要素が含まれていると仮定します。
たとえば、以下のステートメントをプリコンパイルするとします。
INSERT INTO mytbl VALUES(?,?,?)
パラメータをバインドする場合、MYSQL_BIND
構造体には 3
つの要素が必要であり、以下のように宣言できます。
MYSQL_BIND bind[3];
設定する必要がある MYSQL_BIND
の各要素のメンバについては、項11.1.5. 「C API のプリペアドステートメントのデータ型」
を参照してください。
戻り値
正常にバインドできた場合は 0。エラーが発生した場合は 0 以外。
エラー
CR_NO_PREPARE_STMT
プリコンパイルされたステートメントが存在しない。
CR_NO_PARAMETERS_EXISTS
バインドするパラメータが存在しない。
CR_INVALID_BUFFER_USE
これがlong データを切り分けて渡すためのバインドか、およびバッファの型が文字列以外またはバイナリ以外かを示す。
CR_UNSUPPORTED_PARAM_TYPE
変換がサポートされていない。buffer_type
の値が正しくないか、またはサポートされていない型である可能性がある。
CR_OUT_OF_MEMORY
メモリが不足していた。
CR_UNKNOWN_ERROR
不明なエラーが発生した。
例
mysql_bind_param()
の使用方法については、項11.1.7.5. 「mysql_execute()
」
の「例」を参照してください。
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.