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))
{
...
}
...