(PECL maxdb >= 1.0)
maxdb_fetch_lengths -- maxdb_result::lengths — Returns the lengths of the columns of the current row in the result set
过程化风格
$result
)面向对象风格
The maxdb_fetch_lengths() function returns an array containing the
lengths of every column of the current row within the result set represented by the
result
parameter. If successful, a numerically indexed array
representing the lengths of each column is returned 或者在失败时返回 FALSE
.
An array of integers representing the size of each column (not including
any terminating null characters). FALSE
if an error occurred.
maxdb_fetch_lengths() is valid only for the current row of the result set.
It returns FALSE
if you call it before calling maxdb_fetch_row/array/resource or after retrieving
all rows in the result.
Example #1 面向对象风格
<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");
/* check connection */
if (maxdb_connect_errno()) {
printf("Connect failed: %s\n", maxdb_connect_error());
exit();
}
$query = "SELECT * from hotel.customer WHERE cno = 3000";
if ($result = $maxdb->query($query)) {
$row = $result->fetch_row();
/* display column lengths */
foreach ($result->lengths as $i => $val) {
printf("Field %2d has Length %2d\n", $i+1, $val);
}
$result->close();
}
/* close connection */
$maxdb->close();
?>
Example #2 过程化风格
<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* check connection */
if (maxdb_connect_errno()) {
printf("Connect failed: %s\n", maxdb_connect_error());
exit();
}
$query = "SELECT * from hotel.customer WHERE cno = 3000";
if ($result = maxdb_query($link, $query)) {
$row = maxdb_fetch_row($result);
/* display column lengths */
foreach (maxdb_fetch_lengths($result) as $i => $val) {
printf("Field %2d has Length %2d\n", $i+1, $val);
}
maxdb_free_result($result);
}
/* close connection */
maxdb_close($link);
?>
以上例程的输出类似于:
Field 1 has Length 4 Field 2 has Length 3 Field 3 has Length 5 Field 4 has Length 6 Field 5 has Length 5 Field 6 has Length 21