WEB开发网
开发学院数据库MySQL Mysql入门系列:如何处理MYSQL查询 阅读

Mysql入门系列:如何处理MYSQL查询

 2006-12-31 10:51:22 来源:WEB开发网   
核心提示: ■ MYSQL_ROW 是一个指针类型,因此,Mysql入门系列:如何处理MYSQL查询(5),必须声明类型变量为MYSQL_ROW row,而不是MYSQL_ROW *row,则mysql_fetch_row() 返回的NULL 值通常意味着“不再有行”或者发生了

■ MYSQL_ROW 是一个指针类型,因此,必须声明类型变量为MYSQL_ROW row,而不是MYSQL_ROW *row。

■ MYSQL_ROW 数组中的字符串是空终结的。但是,列可能含有二进制数据,这样,数据中就可能含有空字节,因此,不应该把值看成是空终结的。由列的长度可知列值有多长。

■ 所有数据类型的值都是作为字符串返回的,即使是数字型的也是如此。如果需要该值为数字型,就必须自己对该字符串进行转换。

■ 在MYSQL_ROW 数组中,NULL 指针代表NULL,除非声明列为NOT NULL,否则应该经常检查列值是否为NULL 指针。

应用程序可以利用每行的内容做任何想做的事,为了举例说明这一点,我们只打印由制表符隔开列值的行,为此还需要另外一个函数, mysql_num_fields() ,它来自于客户机库;这个函数告知我们该行包括多少个值(列)。

下面就是process_result_set() 的代码:

process_result_set() 以制表符分隔的形式打印每一行(将NULL值显示为单词“NULL”),它跟在被检索的行计数的后面, 该计数通过调用mysql_num_rows() 来计算。像mysql_ affected_rows() 一样,mysql_num_rows() 返回my_ulonglong 值,因此,将值转换为

unsigned long 型,并用‘% l u’ 格式打印。

提取行的循环紧接在一个错误检验的后面,如果要用mysql_store_result() 创建结果集,

mysql_fetch_row() 返回的NULL值通常意味着“不再有行”。然而,如果用mysql_ use _ result( )创建结果集,则mysql_fetch_row() 返回的NULL 值通常意味着“不再有行”或者发生了错误。无论怎样创建结果集,这个测试只允许process_result_set() 检测错误。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Mysql 入门 系列

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接