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 — Возвращает длину каждого поля в результате
Данный модуль устарел начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API. Альтернативы для этой функции:
Возвращает массив длин для каждого поля, содержащегося в последнем ряду результата, полученном из MySQL.
mysql_fetch_lengths() возвращает длины каждого поля, содержащегося в последнем ряду, обработанном функциями mysql_fetch_row(), mysql_fetch_assoc(), mysql_fetch_array() и mysql_fetch_object() в массиве, начинающемся с 0.
result
Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().
Массив (array) длин в случае успешного выполнения или false
в случае возникновения ошибки.
Пример #1 Пример использования mysql_fetch_lengths()
<?php
$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
echo 'Ошибка выполнения запроса: ' . mysql_error();
exit;
}
$row = mysql_fetch_assoc($result);
$lengths = mysql_fetch_lengths($result);
print_r($row);
print_r($lengths);
?>
Вывод приведённого примера будет похож на:
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.