函数名:mysql_list_fields()
适用版本:PHP 4, PHP 5
用法:mysql_list_fields()函数用于获取MySQL数据库中指定表的字段信息。
语法:resource mysql_list_fields ( string $database_name , string $table_name [, resource $link_identifier ] )
参数:
- $database_name:要查询的数据库名。
- $table_name:要查询的表名。
- $link_identifier(可选):MySQL连接标识符,如果未提供,则使用最近打开的连接。
返回值:如果成功,则返回结果集资源,否则返回FALSE。
示例:
- 获取数据库中指定表的字段信息:
$database = "mydatabase";
$table = "mytable";
$link = mysql_connect("localhost", "username", "password");
if (!$link) {
die("连接数据库失败: " . mysql_error());
}
$db_selected = mysql_select_db($database, $link);
if (!$db_selected) {
die("选择数据库失败: " . mysql_error());
}
$result = mysql_list_fields($database, $table, $link);
if (!$result) {
die("获取字段信息失败: " . mysql_error());
}
// 遍历结果集获取字段信息
while ($field = mysql_fetch_field($result)) {
echo "字段名: " . $field->name . "\n";
echo "字段类型: " . $field->type . "\n";
echo "字段长度: " . $field->max_length . "\n";
echo "是否为主键: " . ($field->primary_key ? '是' : '否') . "\n";
echo "是否允许为空: " . ($field->not_null ? '否' : '是') . "\n";
echo "默认值: " . $field->def . "\n";
echo "自动递增: " . ($field->auto_increment ? '是' : '否') . "\n";
echo "\n";
}
mysql_free_result($result);
mysql_close($link);
注意事项:
- mysql_list_fields()函数已经在PHP 5.5.0版本中被废弃,不推荐在新的代码中使用。推荐使用mysqli或PDO扩展来代替。
- 为了安全性和可靠性,请使用预处理语句或转义输入的数据库和表名,以防止SQL注入攻击。