ZBLOG

my_ulonglong STDCALL mysql_num_rows(MYSQL_RES *res);

mysql_num_rows 是 MySQL C API 中的一个函数,用于获取查询结果集中行的数量。它的声明如下:

my_ulonglong STDCALL mysql_num_rows(MYSQL_RES *res);

参数:

  • MYSQL_RES *res: 这是一个指向 MYSQL_RES 结构体的指针,该结构体包含了通过执行 SELECT 查询得到的结果集。

返回值:

  • 返回结果集中的行数。如果没有返回任何行(例如,如果查询是对表的 INSERT、UPDATE 或 DELETE 操作),则返回 0。
  • 如果发生错误,可以使用 mysql_error() 函数来获取错误信息。

示例用法:

以下是如何使用 mysql_num_rows 函数的示例代码:

#include <stdio.h>
#include <mysql/mysql.h>

int main() {
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;

    conn = mysql_init(NULL);
    
    // 连接到数据库
    if (conn == NULL || !mysql_real_connect(conn, "host", "user", "password", "database", 0, NULL, 0)) {
        fprintf(stderr, "mysql_real_connect() failed\n");
        return EXIT_FAILURE;
    }

    // 执行查询
    if (mysql_query(conn, "SELECT * FROM your_table")) {
        fprintf(stderr, "SELECT failed. Error: %s\n", mysql_error(conn));
        return EXIT_FAILURE;
    }

    res = mysql_store_result(conn);
    
    if (res == NULL) {
        fprintf(stderr, "mysql_store_result() failed. Error: %s\n", mysql_error(conn));
        return EXIT_FAILURE;
    }

    my_ulonglong num_rows = mysql_num_rows(res);
    
    printf("Number of rows: %llu\n", num_rows);

    // 清理和关闭连接
    mysql_free_result(res);
    mysql_close(conn);

    return EXIT_SUCCESS;
}

注意事项:

  1. 在调用 mysql_num_rows 函数之前,请确保已经成功执行了一个 SELECT 查询,并且使用 mysql_store_result() 获得了结果集。
  2. 此函数仅在使用 SELECT 查询时有效,对于其他类型的 SQL 命令(如 INSERT、UPDATE 等)将返回 0。


    内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=22630

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?