unsigned long *mysql_fetch_lengths(MYSQL_RES *result)
Devuelve las longitudes de las columnas de la fila actual de un conjunto de resultados. Si se planea copiar valores de campos, esta información de longitud es muy útil para la optimización, ya que se puede evitar la llamada a strlen(). Además, si el conjunto de resultados contiene datos binarios, se debe usar esta función para determinar el tamaño de los datos, porque strlen() devolverá resultados incorrectos para cualquier campo que contenga caracteres nulos.
La longitud para cadenas vacías y para columnas que contengan valores NULL es cero. Para distinguir entre ambos casos, ver la descripción de la función mysql_fetch_row().
Un array de enteros long sin signo que representas los tamaños de cada columna (sin incluir el carácter nulo terminador). NULL si se produce un error.
mysql_fetch_lengths() sólo es válido para la fila actual del conjunto de resultados. Devuelve NULL si es llamada antes de llamar a mysql_fetch_row() o después de recuperar todas las filas del resultado.
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("Columna %u tiene %lu bytes de longitud.\n", i, lengths[i]); } }
© Abril de 2005 Salvador Pozo, salvador@conclase.net