int mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *bind, unsigned int column, unsigned long offset);
La partie de la valeur du résultat lue commence à l'octet offset.
mysql_stmt_fetch_column peut être appelée plusieurs fois.
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 LiaisonB;
static unsigned char B[256];
static unsigned long TailleB;
...
memset(&LiaisonB, 0, sizeof(MYSQL_BIND));
LiaisonB.buffer_type=MYSQL_TYPE_BLOB;
LiaisonB.is_unsigned=0;
LiaisonB.buffer=(void *)&B;
LiaisonB.buffer_length=sizeof(unsigned char)*256;
LiaisonB.length_value=sizeof(unsigned char)*256;
LiaisonB.length=&TailleB;
LiaisonB.is_null_value=0;
LiaisonB.is_null=&IndicateurB;
if (mysql_stmt_fetch_column(hOrdreSql, &LiaisonB, 0, 0))
{
...
}
...
if (mysql_stmt_send_long_data(hOrdreSql, 0, (char *)B, (unsigned long)256))
{
...
}
...