mysql_fetch_field是什么_mysql_fetch_field



PHP mysql_fetch_field() 函数

定义和用法

mysql_fetch_field() 函数从结果集中取得列信息并作为对象返回。

mysql_fetch_field() 可以用来从查询结果中取得字段的信息。如果没有指定字段偏移量,则提取下一个尚未被 mysql_fetch_field() 取得的字段。

该函数返回一个包含字段信息的对象。

被返回的对象的属性为:name - 列名

table - 该列所在的表名

max_length - 该列最大长度

not_null - 1,如果该列不能为 NULL

primary_key - 1,如果该列是 primary key

unique_key - 1,如果该列是 unique key

multiple_key - 1,如果该列是 non-unique key

numeric - 1,如果该列是 numeric

blob - 1,如果该列是 BLOB

type - 该列的类型

unsigned - 1,如果该列是无符号数

zerofill - 1,如果该列是 zero-filled

语法mysql_fetch_field(data,field_offset)

参数描述

data必需。要使用的数据指针。该数据指针是从 mysql_query() 返回的结果。

field_offset必需。规定从哪个字段开始。0 指示第一个字段。如果未设置,则取回下一个字段。

提示和注释

注释:本函数返回的字段名是区分大小写的。

例子<?php

$con = mysql_connect("localhost", "hello", "321");

if (!$con)

{

die(Could not connect:  . mysql_error());

}

$db_selected = mysql_select_db("test_db",$con);

$sql = "SELECT * from Person";

$result = mysql_query($sql,$con);

while ($property = mysql_fetch_field($result))

{

echo "Field name: " . $property->name . "
";

echo "Table name: " . $property->table . "
";

echo "Default value: " . $property->def . "
";

echo "Max length: " . $property->max_length . "
";

echo "Not NULL: " . $property->not_null . "
";

echo "Primary Key: " . $property->primary_key . "
";

echo "Unique Key: " . $property->unique_key . "
";

echo "Mutliple Key: " . $property->multiple_key . "
";

echo "Numeric Field: " . $property->numeric . "
";

echo "BLOB: " . $property->blob . "
";

echo "Field Type: " . $property->type . "
";

echo "Unsigned: " . $property->unsigned . "
";

echo "Zero-filled: " . $property->zerofill . "
";

}

mysql_close($con);

?>

输出:Field name: LastName

Table name: Person

Default value:

Max length: 8

Not NULL: 0

Primary Key: 0

Unique Key: 0

Mutliple Key: 0

Numeric Field: 0

BLOB: 0

Field Type: string

Unsigned: 0

Zero-filled: 0

Field name: FirstName

Table name: Person

Default value:

Max length: 7

Not NULL: 0

Primary Key: 0

Unique Key: 0

Mutliple Key: 0

Numeric Field: 0

BLOB: 0

Field Type: string

Unsigned: 0

Zero-filled: 0

Field name: City

Table name: Person

Default value:

Max length: 9

Not NULL: 0

Primary Key: 0

Unique Key: 0

Mutliple Key: 0

Numeric Field: 0

BLOB: 0

Field Type: string

Unsigned: 0

Zero-filled: 0

Field name: Age

Table name: Person

Default value:

Max length: 2

Not NULL: 0

Primary Key: 0

Unique Key: 0

Mutliple Key: 0

Numeric Field: 1

BLOB: 0

Field Type: int

Unsigned: 0

Zero-filled: 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
要获取查询结果集中的所有字段,您可以使用`mysql_fetch_field`函数在循环中迭代获取每个字段的信息。以下是一个示例: ```cpp #include <mysql/mysql.h> #include <iostream> int main() { // 初始化MySQL连接 MYSQL mysql; mysql_init(&mysql); // 建立与MySQL服务器的连接 if (!mysql_real_connect(&mysql, "localhost", "username", "password", "database", 0, NULL, 0)) { std::cout << "连接到MySQL服务器失败: " << mysql_error(&mysql) << std::endl; return 1; } // 执行查询 const char* query = "SELECT * FROM table"; if (mysql_real_query(&mysql, query, strlen(query)) != 0) { std::cout << "查询执行失败: " << mysql_error(&mysql) << std::endl; return 1; } // 获取查询结果集 MYSQL_RES* result = mysql_store_result(&mysql); if (result == NULL) { std::cout << "获取查询结果集失败: " << mysql_error(&mysql) << std::endl; return 1; } // 获取字段信息 int num_fields = mysql_num_fields(result); MYSQL_FIELD* fields = mysql_fetch_fields(result); // 遍历并打印字段信息 for (int i = 0; i < num_fields; i++) { std::cout << "字段名称: " << fields[i].name << std::endl; std::cout << "字段类型: " << fields[i].type << std::endl; // 可以根据需要获取其他字段属性 std::cout << std::endl; } // 释放结果集内存 mysql_free_result(result); // 关闭与MySQL服务器的连接 mysql_close(&mysql); return 0; } ``` 在上述示例中,使用`mysql_num_fields`函数获取查询结果集的字段数量,并使用`mysql_fetch_fields`函数获取字段信息数组。 然后,使用循环遍历字段信息数组,并打印每个字段的名称和类型等属性。您还可以根据需要获取其他字段属性,如长度、是否为NULL等。 请注意,上述示例是一个简化版的代码,并没有考虑错误处理和异常情况。在实际应用中,建议添加适当的错误处理和异常处理机制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值