对于 UTF8 字段,mysql_field_len() 将返回最大长度的 3 倍(例如,对于 VARCHAR(10) 字段为 30),因为 mysql_field_len() 返回字段的字节长度而不是定义的大小。
(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 开始。
示例 #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] => [email protected] ) Array ( [0] => 2 [1] => 16 )
对于 UTF8 字段,mysql_field_len() 将返回最大长度的 3 倍(例如,对于 VARCHAR(10) 字段为 30),因为 mysql_field_len() 返回字段的字节长度而不是定义的大小。