my_bool mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND *bnd);
Le résultat est différent de 0 en cas de succès.
Voici la description de la structure MYSQL_BIND :
enum enum_field_types buffer_type;
char
où seul le bit de poids faible est utilisé.char
.short
.long
.double
.unsigned char *
.char *
.MYSQL_TIME *
.my_bool is_unsigned;
void *buffer;
unsigned long buffer_length;
unsigned long length_value;
unsigned long *length;
my_bool is_null_value;
my_bool *is_null;
my_bool *error;
#include <mysql.h>
static MYSQL_STMT *hOrdreSql;
static MYSQL_BIND LiaisonE;
static long E;
static unsigned long TailleE;
static my_bool IndicateurE;
static MYSQL_BIND LiaisonC;
static char C[20];
static unsigned long TailleC;
static my_bool IndicateurC;
...
memset(&LiaisonE, 0, sizeof(MYSQL_BIND));
LiaisonE.buffer_type=MYSQL_TYPE_LONG;
LiaisonE.is_unsigned=0;
LiaisonE.buffer=(void *)&E;
LiaisonE.buffer_length=sizeof(long);
LiaisonE.length_value=sizeof(long);
LiaisonE.length=&TailleE;
LiaisonE.is_null_value=0;
LiaisonE.is_null=&IndicateurE;
if (mysql_stmt_bind_param(hOrdreSql, &LiaisonE))
{
...
}
...
memset(&LiaisonC, 0, sizeof(MYSQL_BIND));
LiaisonC.buffer_type=MYSQL_TYPE_STRING;
LiaisonC.is_unsigned=0;
LiaisonC.buffer=(void *)C;
LiaisonC.buffer_length=sizeof(char)*20;
LiaisonC.length_value=strlen(C);
LiaisonC.length=&TailleC;
LiaisonC.is_null_value=0;
LiaisonC.is_null=&IndicateurE;
if (mysql_stmt_bind_param(hOrdreSql, &LiaisonC))
{
...
}
...