(PHP 5、PHP 7、PHP 8)
mysqli_result::$lengths -- mysqli_fetch_lengths — 傳回結果集中目前列之各欄位的長度
物件導向風格
程序式風格
mysqli_fetch_lengths() 函式會傳回一個陣列,其中包含結果集中目前列之每個欄位的長度。
result
僅限程序式風格:由 mysqli_query()、mysqli_store_result()、mysqli_use_result() 或 mysqli_stmt_get_result() 返回的 mysqli_result 物件。
一個整數陣列,表示每一欄的大小(不包含任何結尾的空字元)。如果發生錯誤,則返回 false
。
mysqli_fetch_lengths() 僅適用於結果集的當前列。如果您在呼叫 mysqli_fetch_row/array/object 之前或擷取結果中的所有列之後呼叫它,它會返回 false
。
範例 #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);
?>
以上範例將輸出
Field 1 has Length 3 Field 2 has Length 5 Field 3 has Length 13 Field 4 has Length 9 Field 5 has Length 6 Field 6 has Length 1 Field 7 has Length 6 Field 8 has Length 4 Field 9 has Length 6 Field 10 has Length 6 Field 11 has Length 5 Field 12 has Length 44 Field 13 has Length 7 Field 14 has Length 3 Field 15 has Length 2