GNU Info

Info Node: (mysql.info)mysql_fetch_lengths

(mysql.info)mysql_fetch_lengths


Next: mysql_fetch_row Prev: mysql_fetch_field_direct Up: C API functions
Enter node , (file) or (file)node

`mysql_fetch_lengths()'
.......................

`unsigned long *mysql_fetch_lengths(MYSQL_RES *result)'

Description
...........

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.

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()'.

Return Values
.............

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

Errors
......

`mysql_fetch_lengths()' is valid only for the current row of the result
set.  It returns `NULL' if you call it before calling
`mysql_fetch_row()' or after retrieving all rows in the 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]);
         }
     }


automatically generated by info2www version 1.2.2.9