You are here : Cmysql/mysql.hmysql_fetch_lengths

mysql_fetch_lengths() - mysql/mysql.h

 Returns the lengths of the columns of the current row within a
        result set. If you plan to copy field values, this length
        information is also useful for optimization, because you can
        avoid calling strlen(). In addition, if the
        result set contains binary data, you
        must use this function to
        determine the size of the data, because
        strlen() returns incorrect results for any
        field containing null characters.strlen()mustmuststrlen()The length for empty columns and for columns containing
        NULL values is zero. To see how to
        distinguish these two cases, see the description for
        mysql_fetch_row().NULLmysql_fetch_row()mysql_fetch_row()


Syntax

unsigned long *mysql_fetch_lengths(MYSQL_RES
        *result)


Example

MYSQL_ROW row;
unsigned long *lengths;
unsigned int num_fields;
unsigned int i;

row = mysql_fetch_row(result);
if (row)
{
    num_fields = mysql_num_fields(result);
    lengths = mysql_fetch_lengths(result);
    for(i = 0; i < num_fields; i++)
    {
         printf("Column %u is %lu bytes in length.\n",
                i, lengths[i]);
    }
}


Output / Return Value

 An array of unsigned long integers representing the size of each
        column (not including any terminating null bytes).
        NULL if an error occurred.NULL


Limitations


Alternatives / See Also


Reference