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 — Obtém o tamanho de cada saída de um resultado
Esta extensão tornou-se defasada a partir do PHP 5.5.0 e foi removida no PHP 7.0.0. Em vez disso, as extensões MySQLi ou PDO_MySQL devem ser usadas. Veja também o guia MySQL: escolhendo uma API. Alternativas a esta função incluem:
Retorna um array que corresponde aos tamanhos de cada campo na ultima linha obtida pelo MySQL.
mysql_fetch_lengths() guarda o tamanho de cada coluna do resultado na última linha retornada por mysql_fetch_row(), mysql_fetch_assoc(), mysql_fetch_array(), e mysql_fetch_object() em um array, começando no índice 0.
result
O resource do resultado que está sendo avaliado. Este resultado vem de uma chamada a mysql_query().
Um array de tamanhos em caso de sucesso ou false
em caso de falha.
Exemplo #1 Exemplo mysql_fetch_lengths()
<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_assoc($result);
$lengths = mysql_fetch_lengths($result);
print_r($row);
print_r($lengths);
?>
O exemplo acima produzirá algo semelhante 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.