MySQL C API
函数详解
在下面的描述中,一个
NULL
参数或返回值含义是在
C
编程语言环境的
NULL
,不是一个
MySQL NULL
值。
返回一个值的函数一般返回一个指针或一个整数。除非另外指定,返回一个指针的函数返回
一个非
NULL
值表明成功,或一个
NULL
值表明一个错误,而返回一个整数的函数返回零表示
成功,或非零表示一个错误。注意,
“
非零
”
只有这个含义。除非函数描述另外
说明,不要测试一个零以外的其他值:
if (result)
/*
正确
*/
... error ...
if (result
/*
不正确
*/
... error ...
if (result == -1)
/*
不正确
*/
... error ...
当函数返回一个错误时,函数描述的错误小节列出错误可能的类型。你可以调用
mysql_
errno()
找出发生了这些重的哪一个。错误的字符串表示可以调用
mysql_error()
获得。
20.4.1 mysql_affected_rows()
my_ulonglong mysql_affected_rows(MYSQL *mysql)
20.4.1.1
说明
返回受到最后一个
UPDATE
、
DELETE
或
INSERT
查询影响
(
变化
)
的行数。可以在针对
UPDATE
、
DELETE
或
INSERT
语句的
mysql_query()
之后立即调用。对于
SELECT
语句,
mysql_affec
ted_rows()
的功能于
mysql_num_rows()
相同。
mysql_affected_rows()
目前以一个宏
(macro)
来实现。
20.4.1.2
返回值
大于零的一个整数表示受到影响或检索出来的行数。零表示没有匹配查序中
WHERE
子句的
记录或目前还没有查询被执行。
-1
表示查询返回一个错误,或对于一个
SELECT
查询,
my
sql_affected_rows()
在调用
mysql_store_result()
之前被调用。
20.4.1.3
错误
没有。
20.4.1.4
范例
mysql_query(&mysql,"UPDATE products SET cost=cost*1.25 WHERE group=10");
printf("%d products updated",mysql_affected_rows(&mysql));
20.4.2 mysql_close()
void mysql_close(MYSQL *mysql)
20.4.2.1
说明
关闭一个以前打开了的连接。如果句柄由
mysql_init()
或
mysql_connect()
自动分配,
mysql_close()
也释放被
mysql
指向的连接句柄。
20.4.2.2
返回值没有。
20.4.2.3
错误
CR_COMMANDS_OUT_OF_SYNC
命令以一个不正确的次序被执行。
CR_SERVER_GONE_ERROR