(PHP 5, PHP 7, PHP 8)
mysqli_result::$lengths -- mysqli_fetch_lengths — Возвращает длины полей текущей строки результирующего набора
Объектно-ориентированный стиль
Процедурный стиль
mysqli_fetch_lengths() возвращает массив, элементы которого представляют длины каждого поля текущей строки результирующего набора.
result
Только для процедурного стиля: объект mysqli_result, который вернула функция mysqli_query(), mysqli_store_result(), mysqli_use_result() или mysqli_stmt_get_result().
Массив целых чисел, представляющих размеры значений столбцов (исключая
какие-либо завершающие нуль-символы). false
в случае возникновения ошибки.
mysqli_fetch_lengths() относится только к текущей строке.
Функция вернёт false
, если будет вызвана до вызова
mysqli_fetch_row/array/object или если в результирующем наборе больше нет строк.
Пример #1 Объектно-ориентированный стиль
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* проверка подключения */
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT * from Country ORDER BY Code LIMIT 1";
if ($result = $mysqli->query($query)) {
$row = $result->fetch_row();
/* выведем длины полей */
foreach ($result->lengths as $i => $val) {
printf("Поле %2d имеет длину %2d\n", $i+1, $val);
}
$result->close();
}
/* закрываем подключение */
$mysqli->close();
?>
Пример #2 Процедурный стиль
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* проверка подключения */
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT * from Country ORDER BY Code LIMIT 1";
if ($result = mysqli_query($link, $query)) {
$row = mysqli_fetch_row($result);
/* выведем длины полей */
foreach (mysqli_fetch_lengths($result) as $i => $val) {
printf("Поле %2d имеет длину %2d\n", $i+1, $val);
}
mysqli_free_result($result);
}
/* закрываем подключение */
mysqli_close($link);
?>
Результат выполнения приведённых примеров:
Поле 1 имеет длину 3 Поле 2 имеет длину 5 Поле 3 имеет длину 13 Поле 4 имеет длину 9 Поле 5 имеет длину 6 Поле 6 имеет длину 1 Поле 7 имеет длину 6 Поле 8 имеет длину 4 Поле 9 имеет длину 6 Поле 10 имеет длину 6 Поле 11 имеет длину 5 Поле 12 имеет длину 44 Поле 13 имеет длину 7 Поле 14 имеет длину 3 Поле 15 имеет длину 2