In case of UTF8 fields mysql_field_len() will return 3 times the maximum length (e.g. 30 for a VARCHAR(10) field)) for mysql_field_len() returns the byte length of the field not the defined size.
(PHP 4, PHP 5)
mysql_fetch_lengths — Obtiene la longitud de cada salida en un resultado
Esta extensión fue declarada obsoleta en PHP 5.5.0 y eliminada en PHP 7.0.0. En su lugar debería utilzarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API. Las alternativas a esta función son:
Devuelve un array que corresponde a las longitudes de cada campo de la última fila recuperada por MySQL.
mysql_fetch_lengths() almacena las longitudes de cada columna del resultado en la última fila devuelta mediante mysql_fetch_row(), mysql_fetch_assoc(), mysql_fetch_array(), y mysql_fetch_object() en un array, comenzando desde el índice 0.
result
El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().
Un array de longitudes en caso de éxito o false
en caso de error.
Ejemplo #1 Un ejemplo de mysql_fetch_lengths()
<?php
$resultado = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$resultado) {
echo 'No se pudo ejecutar la consulta: ' . mysql_error();
exit;
}
$fila = mysql_fetch_assoc($resultado);
$longitudes = mysql_fetch_lengths($resultado);
print_r($fila);
print_r($longitudes);
?>
El resultado del ejemplo sería algo similar a:
Array ( [id] => 42 [email] => user@example.com ) Array ( [0] => 2 [1] => 16 )
In case of UTF8 fields mysql_field_len() will return 3 times the maximum length (e.g. 30 for a VARCHAR(10) field)) for mysql_field_len() returns the byte length of the field not the defined size.