my_bool mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND *bind)
描述
mysql_stmt_bind_param()用于为SQL语句中的参数标记符绑定数据,以传递给mysql_stmt_prepare()。它使用MYSQL_BIND结构来提供数据。“bind”是MYSQL_BIND结构的某一数组的地址。按照客户端库的预期,对于查询中出现的每个“?”参数标记符,数组中均包含1个元素。
假定你准备了下述语句:
INSERT INTO mytbl VALUES(?,?,?)
绑定参数时,MYSQL_BIND结构的数组包含3个元素,并能声明如下:
MYSQL_BIND bind[3];
在25.2.5节,“C API预处理语句的数据类型”中,介绍了应设置的每个MYSQL_BIND元素的成员。
返回值
如果绑定成功,返回0。如果出现错误,返回非0值。
错误
· CR_INVALID_BUFFER_USE
指明“bind”(绑定)是否将提供程序块中的长数据,以及缓冲类型是否为非字符串或二进制类型。
· CR_UNSUPPORTED_PARAM_TYPE
不支持该转换。或许buffer_type值是非法的,或不是所支持的类型之一。
· CR_OUT_OF_MEMORY
内存溢出。
· CR_UNKNOWN_ERROR
出现未知错误。
示例:
关于mysql_stmt_bind_param()的用法,请参见25.2.7.10节,“mysql_stmt_execute()”给出的示例。