PHPerKaigi 2024

mysqli_result::$lengths

mysqli_fetch_lengths

(PHP 5, PHP 7, PHP 8)

mysqli_result::$lengths -- mysqli_fetch_lengths Возвращает длины полей текущей строки результирующего набора

Описание

Объектно-ориентированный стиль

Процедурный стиль

mysqli_fetch_lengths(mysqli_result $result): array|false

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
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top